vim配置使用
大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本,叫做 vim。通常,vim 在 Linux 系统中是“vi”的符号链接(或别名)。是一个模式编辑器。(插入模式,命令模式)
配置
全局配置一般在/etc/vim/vimrc
或者/etc/vimrc
,对所有用户生效。用户个人的配置在~/.vimrc
。
设置适合编写脚本的vim
:syntax on
打开语法高亮。
:set hlsearch
高亮查找结果。
:set tabstop=4
设置一个 tab 字符所占据的列数。默认是8列。把这个值设置为4
:set autoindent
回车后,下一行的缩进会自动跟上一行的缩进保持一致。停止缩进,输入 Ctrl-d。
:set number
:set nonumber
行号
上面是在命令模式下输入的只对当前文件有效,想要设置全局的按照下面。
通过把这些命令(没有开头的冒号字符)添加到你的 ~/.vimrc 文件中,这些改动会永久生效。
"双引号表示行注释
syntax on
set hlsearch
set tabstop=4
set autoindent
set number
"set nonumber
"底部显示,当前处于命令模式还是插入模式
set showmode
"支持使用鼠标
set mouse=a
"使用编码
set encoding=utf-8
"光标所在的当前行高亮。
set cursorline
"自动折行,即太长的行分成几行显示。
set wrap
"关闭自动折行
set nowrap
" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set showmatch
使用
移动(vi命令模式下)
vi 中的许多命令都可以在前面加上一个数字,比方说上面提到的”G”命令。
在命令之前加上一个 数字,我们就可以指定命令执行的次数。例如,命令”5j”将光标下移5行。
0 :行首
$ :行末
Ctrl-f:向下翻页
Ctrl-b:向上翻页
gg : 文件首行
G : 文件尾行
33G : 移到文件的第33行
33% : 文件的33%处
查找:(vi命令模式下)
/ : 向下查找(后加关键字)
? : 向上查找(后加关键字)
n : 重复先前的查找
替换(vi命令模式下)
:%s/Line/line/g
条目 | 含义 |
---|---|
: | 冒号字符运行一个 ex 命令。 |
% | 指定要操作的行数。% 是一个快捷方式,表示从第一行到最后一行。另外,操作范围也可以用 1,5 来代替(文件只有5行文本),或者用 1,$ 来代替,意思是 “ 从第一行到文件的最后一行。” 如果省略了文本行的范围,那么操作只对当前行生效。 |
s | 指定操作。在这种情况下是,替换(查找与替代)。 |
/Line/line | 查找类型与替代文本。 |
g | 这是“全局”的意思,意味着对文本行中所有匹配的字符串执行查找和替换操作。如果省略 g,则 只替换每个文本行中第一个匹配的字符串。 |
也可以指定一个需要用户确认的替换命令。通过添加一个”c”字符到这个命令的末尾,来完成 这个替换命令
:%s/line/Line/gcreplace with Line (y/n/a/q/l/^E/^Y)?
按键 | 行为 |
---|---|
y | 执行替换操作 |
n | 跳过这个匹配的实例 |
a | 对这个及随后所有匹配的字符串执行替换操作。 |
q or esc | 退出替换操作。 |
l | 执行这次替换并退出。l 是 “last” 的简写。 |
Ctrl-e, Ctrl-y | 分别是向下滚动和向上滚动。用于查看建议替换的上下文。 |
编辑:(vi命令模式下)
i 转换到插入模式
CTRL-R 重做
u 撤销上一步操作
U 撤销对当前行的所有操作
p 粘贴剪切板里的内容在光标后
yy 将当前行复制到缓存区,
nyy 将当前行向下n行复制到缓冲区
dd 删除当前行
ndd 向下删除当前行在内的n行
O 在当前行的上面新建一行
o 在当前行的下面新建一行
a 在当前光标位置的右边添加文本
i 在当前光标位置的左边添加文本
A 在当前行的末尾位置添加文本
I 在当前行的开始处添加文本(非空字符的行首)
x 删除当前字符(相当于del)
nx 删除从光标开始的n个字符
dG 全部删除
ggyG 全部复制
ggvG 全选:%s/old/new/g 用new替换当前文件里所有的old:s/old/new 用new替换行中首次出现的old
:s/old/new/g 用new替换行中所有的old
:n,m s/old/new/g 用new替换从n到m行里所有的old连接行:大写的 J(不要与小写的 j 混淆了, j 是用来移动光标的)用于链接行与行。
把光标放到 line 3上,输入大写的 J 命令
Line 2
Line 3 Line 4移动:h,l,j,k,w,b
跳转:G nG f/F+字母
定位:G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾
操作:y d p
退出保存:(vi命令模式下)
:w # 保存文件
:q # 退出编辑器,如果文件已修改请使用下面的命令
:q! # 退出编辑器,且不保存
:wq # 退出编辑器,且保存文件
设置行号 (vi命令模式下使用)
:set nu //显示行号
:set nonu //取消显示行号
参考链接:
http://www.ruanyifeng.com/blog/2018/09/vimrc.html
终极vim配置
https://github.com/spf13/spf13-vim