Skip to content
GitHub

vim

vim 是一个使用广泛的文件编辑器,它支持多种编程语言,并且可以与其他程序配合使用。

 $ sudo apt-get install vim
 $ vim --version
 > VIM - Vi IMproved 8.1 (2018 May 18, compiled Dec 07 2023 15:42:49)
 > ......

使用 vi /etc/vim/vimrc, 编辑 vim 配置
配置文件使用 " 作为注释符号

 set nocp         "使用非兼容 vi 模式
 set nu           "在左侧行号
 set tabstop=4    "tab 长度设置为 4
 set nobackup     "覆盖文件时不备份
 set cursorline   "突出显示当前行
 set ruler        "在右下角显示光标位置的状态行
 set autoindent   "自动缩进
 set showmode     "显示当前模式

vim 编辑文件默认就是 normal 模式:

  • 快速移动
  • 删除内容
  • 复制内容
  • 黏贴内容
  • 搜索内容
h, j, k, l  左, 下, 上,

b, e  当前单词的开头, 结尾
w, ge 下个单词的开头, 上个单词结尾

0, ^, $     行首, 行首(非空白字符), 文档末尾

ctrl + b 向上滚动一屏
ctrl + f 向下滚动一屏

gg, G 文档开头, 文档末尾
x     剪切当前字符
X     剪切当前字符前一个
dd    剪切当前行
dw    剪切当前单词
d$    剪切当前行到行尾
d0    剪切当前行到行首

d<n>j 剪切当前行及其后 n
d<n>k 剪切当前行及其前 n
d<n>w 剪切当前单词及其后 n 个单词
d<n>b 剪切当前单词及其前 n 个单词

p     黏贴剪切板内容
yy    复制当前行
yw    复制当前单词
y$    复制当前行到行尾
y0    复制当前行到行首
y^    复制当前行到行首(非空白字符)

y<n>j 复制当前行及其后 n
y<n>k 复制当前行及其前 n
y<n>w 复制当前单词及其后 n 个单词
y<n>b 复制当前单词及其前 n 个单词

p     黏贴剪切板内容(d y 后操作的内容)

在任意模式下,按下 : 键,进入 command 模式,可以执行 vim 命令

/pattern + enter 搜索匹配项目
n  N             向下搜索下一个匹配项, 向上搜索上一个匹配项

:s/pattern/replace/g  单行全替换
:s/pattern/replace/gi  忽略大小写替换

:%s/pattern/replace/g  全局替换
:%s/pattern/replace/i  全局忽略大小写替换