一入 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 系列教程 | 卡瓦邦噶