[关闭]
@breakerthb 2017-05-27T01:40:20.000000Z 字数 1835 阅读 1410

vim

Linux Shell


Vim命令使用图解

参考:http://www.runoob.com/linux/linux-vim.html

三种模式

模式转换

一般模式 -> 编辑模式 : i,o,a(插入)R(替换)
编辑模式 -> 一般模式 : ESC
一般模式 -> 命令模式 : :,/,?
命令模式 -> 一般模式 : ESC

命令

:wq     保存后退出
:wq!    强制保存后退出
:w      保存
:w!     强制保存
:q      离开
:q!     强制离开不保存
ZZ      若无改动,不保存离开
        若有改动,保存后离开

:w[filename]    另存为
:r[filename]    在编辑过程中读入另一个文件数据
:n1,n2 w [filename] 将n1,n2的内容保存成filename这个文件
:s  替换当前行
    :s/…/…/ 替换第一个
    :s/…/…/g 替换所有

    eg :s/vivian/sky/ vivian 替换为 sky

:n  替换第n1行到第n2行
    :n1,n2s/…/…/ 替换第n行到最后每行第一个
    :2,$s/…/…/g 替换第2行到最后一行全部(.表示开始,$表示结束)
    eg:
        :.,$s/^/#/g 注释全文
        :3,7s/^/#/g 注释第3行到第7行
:%s 替换每一行
    :%s/…/…/ 替换每一行第一个
    :%s/…/…/g 替换每一行所有
    eg:
        ^M 表示回车(输入方法:Ctrl+V,Ctrl+M)

一键模式切换

i 从当前光标处插入
I 在当前行的第一个非空格字符处插入
a 从当前光标的下一个字符处插入
A 在当前行的最后一个字符处插入
o 下一行插入
O 上一行插入
r 替换光标所在字符一次
R 一直替换光标所在文字,直到安下ESC

移动光标的方法

h、j、k、l  左下上右    向下30行:30j 或 30方向键
[Ctrl] + f  Page down
[Ctrl] + b  Page up
[Ctrl] + d  向下移半页
[Ctrl] + u  向上移半页
+   光标移动到非空格符号的下一行
-   光标移动到非空格符号的上一行
n<space>    向右移动n个字符
数字0或[Home]    到行首
$或[End]    到行尾
    H    当前屏幕第一个字符
    M    屏幕中央行第一个字符
    L    最下方一行第一个字符
    G    到文件最后一行
    nG   到第n行
    gg(g)    移动到第一行    相当于1G
    n[Enter]    光标下移n行
    /word    向下寻找“word”
    ?word    向上寻找“word”
    n    继续一个查找动作
    N    向前继续查找
    x    相当于[Del]
    X    相当于[Backspace]
    nx   做n次x
    dd   删除当前行
    ndd  删除n行
    d1G  删除从当前行到第一行的数据
    dG   删除从当前行到最后一行的数据
    d$   删除后半行
d0   删除前半行
yy   复制当前行
nyy  复制当前行向下n行
y1G  复制当前行到第一行
yG   复制当前行到最后一行
y0   复制前半行
y$   复制后半行
p    粘贴到下一行
P    粘贴在光标上一行
J    合并当前行与下一行
c    重复删除多个数据   向下删除10行:10cj
u    撤销   
[Ctrl] + r    重复上一个操作
.    重复操作

块选择

v   字符选择
V   行选择
[Ctrl] + v 块选择
y   将反白部分复制
d   将反白部分删除

多窗口功能

:sp [filename]              | 新开一个窗口,如果没有文件名,则打开当前文件
[Ctrl]+w+j [Ctrl]+w+向下    | 移到下方窗口
[Ctrl]+w+k [Ctrl]+w+向上    | 移到上方窗口
[Ctrl]+w+q                  | 离开当前窗口

环境参数

:set nu
:set nonu   设置与取消行号

:set hlsearch
:set nohlsearch 设置与取消查找内容反白

:set autoindent
:set noautoindent   自动缩进

:set backup
:set nobackup   自动保存备份文件,当修改时,保存上一个版本

:set ruler  显示状态栏
:set showmode   是否显示--INSERT--这类信息
:set backspace=(012)    2,可以删除任意值;0或1,能否删除原本的字符
:set all    显示目前所有环境参数
:set    显示与系统默认值不同的参数

:syntax on
:syntax off 是否根据语法显示不同颜色

:set bg=dark
:set bg=light   不同色调

配置文件

~/.viminfo  操作记录
~/.vimrc    设置值(需要自己创建)

修改设置值

$ vim ~/.vimrc

添加:

set hlsearch
set backspace=2
set autoindent
set ruler
set showmode
set nu
set bg=dark
set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab
syntax on
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注