一入 Vim 深似海,从此 IDE 是路人
更新中…
目录
- 目录
- 1. 基本操作
- 2. 删除/撤销
- 3. 插入/替换/编辑
- 4. 定位/搜索替换/括号匹配
- 5. 运行终端命令/保存至文件
- 6. 新行插入/连续替换/复制粘贴/搜索选项
- 7. 获取帮助/自动补全
- 参考文章
1. 基本操作
移动光标
^
k Hint: The h key is at the left and moves left.
< h l > The l key is at the right and moves right.
j The j key looks like a down arrow.
v
文件保存与退出
待补充
:w:wq:q!:qa
删除字符
x:删除光标选中的字符
插入字符
i:进入编辑模式
行末添加新字符
A:可在当前光标行末添加新字符
2. 删除/撤销
d 命令及其参数
Many commands that change text are made from an operator and a motion.
The format for a delete command with the d delete operator is as follows:
d motion
Where:
d - is the delete operator.
motion - is what the operator will operate on (listed below).
A short list of motions:
w - until the start of the next word, EXCLUDING its first character.
e - to the end of the current word, INCLUDING the last character.
$ - to the end of the line, INCLUDING the last character.
dw:删除光标后的单词,光标停留在下一个单词的开头de:删除光标后的单词,光标停留在下一个单词开头的前一个字符d$:删除至行末
w/e 移动光标
w:移动至下一个单词的开头,可与数字连用,例如2w会移动至后数第二个单词的开头e:移动至下一个单词的末尾,可与数字连用,例如3e会移动至后数第三个单词的末尾0:移动至光标所在行的开头(类似Home)d2w:删除光标后数的两个单词,光标停留在第三个单词的首字符d2e:删除光标后数的两个单词,光标停留在第三个单词首字符的前一个字符
dd 删除整行
dd:删除当前行2dd:删除包括当前行之后的 2 行
Undo/Redo
u:撤销最近的一次更改U:撤销整行的更改Ctrl+R:Redo
3. 插入/替换/编辑
p 命令
p:将上一次删除的内容插入到光标之后
r 命令
r:替换光标选中的字符
c 命令
与d命令类似,满足以下格式:
> c [number] motion
ce:编辑光标之后的单词直至其末尾c2e:编辑光标之后的 2 个单词直至其末尾c$:编辑光标至行末的内容
4. 定位/搜索替换/括号匹配
快速定位
Ctrl+G:显示当前位置及行号G:移动至文件末尾gg:移动至文件开头313 G:移动至第313行
搜索
/pattern:向后查找包含pattern的字符串?pattern:向前查找包含pattern的字符串n:下一个匹配N:上一个匹配Ctrl+O:跳转至光标上一次所在位置Ctrl+I:跳转至光标下一次所在位置
替换
:s/old/new:将该行第一个出现的old替换为new:s/old/new/g:将该行所有出现的old替换为new:#,#s/old/new/g:将两行之间所有出现的old替换为new:%s/old/new/g:将文件中所有出现的old替换为new:%s/old/new/g:查找文件中所有出现的old,并提示用户是否用new进行替换
括号匹配
%:查找与光标后最近的左括号(、[、{匹配的右括号
5. 运行终端命令/保存至文件
运行终端命令
:!command:例如:!pwd将打印当前工作目录路径
保存至文件
:w FILENAME:将更改保存至FILENAME
保存选中内容
- 首先在起始行按下
v进入可视化选择模式 - 移动光标,选中想要保存的内容
- 之后按下
:,屏幕下方会出现:'<,'> - 输入
w TEST,即屏幕下方显示:'<,'>w TEST,将选中内容保存至TEST
插入文件内容
:r TEST:在光标后插入文件TEST的内容:r !pwd:在光标后插入pwd命令输出的内容
6. 新行插入/连续替换/复制粘贴/搜索选项
o 命令
:o:在光标下方插入新行,并进入编辑模式:O:在光标上方插入新行,并进入编辑模式
a 命令
:a:在当前光标之后插入新内容,并进入编辑模式
R 命令
:R:进入编辑模式,并用输入的字符替换当前光标选中的字符
复制/粘贴
y:复制选中内容y2w:复制光标之后的两个单词p:在光标之后粘贴内容
设置搜索选项
:set ic:Ignore Case,忽略大小写:set noic:开启大小写:set hls:Highlight Search,高亮搜索:nohlsearch:取消当前的高亮,可简写为:nohl或:noh:set is:Increasing Search,递进搜索:set nois:取消递进搜索
7. 获取帮助/自动补全
获取帮助
:help:打开帮助文档
自动补全
Ctrl+D:显示所有匹配开头的命令Tab:自动补全至下一项
8. .vimrc 设置快捷键
Ctrl+S 保存
在~/.vimrc中加入以下内容:
我用的是
nvim,所以配置文件在~/.config/nvim/目录下
" 快捷键设置
nmap <F2> :NERDTreeToggle<cr>
nmap <F3> :TagbarToggle<cr>
nmap <F6> :GoFmt<cr>
nmap <C-s> :w<cr>
参考文章
- Learning Vim: What I Wish I Knew | Hacker Noon
- Introduction To Vim Customization | Linode
- The Ultimate vimrc | Github
- Vim Dracula Theme | Github
- Vundle.vim | Github
- lexVim - lexkong | Github
- 138 条 Vim 命令、操作、快捷键全集 | 马哥 Linux 运维
- 练了一年再来总结的 vim 使用技巧 | CU 技术社区
- 哈哈:180万程序员不知如何退出Vim编辑器 | 实验楼
- 精通 VIM ,此文就够了 | zempty 笔记
- 超酷的 Vim 搜索技巧 | Linux 中国
- Vim 系列教程 | 卡瓦邦噶