Linux vim 常用操作与命令记录

vim有三种械:命令模式【基本】 / 插入模式 / 末行模式【输入了":"进入】

命令模式:

a 当前光标后面添加
A 当前光标行尾添加
i 当前光标前面添加
I 当前光标行首添加
o 当前光标下一行的行首添加
O 当前光标上一行的行首添加
u 撤销操作,最多能撤销到打开之前的时候,需要使用 :q! 来强制退出
h 光标向左移动一个字符
l 光标向右移动一个字符
j 光标向下移动一行
k 光标向上移动一行
b 光标定位到当前单词的第一个字母
e 光标定位到当前单词的最后一个字母
Space 光标躺移动一个字符
Backspace 光标向左移动一个字符并删除字符
enter | + 光标移动到下一行行首
- 光标移动到上一行行首
$ 光标移动到当前行的行尾
shif + h 光标屏幕第一行
shif + m 光标屏幕中间一行
shif + l 光标屏幕最后一行
ctrl + b 光标向下移动一屏
ctrl + f 光标向上移动一屏
[\d] x 删除当前光标所在的【或者之后的[\d]个】字符
d w 删除光标所在单词字符至下一个单词开始的字符
d $ | shif + d 删除当前光标至行尾的所有字符
[\d] d d 删除当前光标所在行或者之后的[\d]行
[\d],[\d] d 删除第[\d]行到[\d]行的内容
? 字符串 当前光标位置开始向后查找字符串
/ 字符串 当前光标位置开始向前查找字符串
n 继续上一次查找
shif + n 以相反的方向继续上一次查找
:noh 关闭高亮
ctrl + u 向文件首翻半屏
ctrl + d 向文件尾翻半屏
ctrl + f 向文件尾翻一屏
ctrl + b 向文件首翻一屏
$ # 移动到当前行尾
b # 上一个单词的词首
0(数字) # 移动到当前行首
3+ # 向下移动3行
12G # 跳转到12行
12G,dd # 跳转到12行,并删除
w,w,w,d$ # 向右移动到第三个单词首,并删除到行尾
6G,w,w # 跳转到第六行的第三个单词首
yw # 复制光标到结尾的内容

末行模式,即:输入“:”进入

:w [文件路径] 当前打开的文件写入到指定文件
:q[!] 退出【强制】
:next 编辑上一个文件
:prev 编辑下一个文件

vim 帮助信息

usage: vim [arguments] [file ..] edit specified file(s)
or: vim [arguments] - read text from stdin
or: vim [arguments] -t tag edit file where tag is defined
or: vim [arguments] -q [errorfile] edit file with first error

Arguments:
-- Only file names after this
-v Vi mode (like "vi") # vi 模式
-e Ex mode (like "ex") # ex 模式
-E Improved Ex mode # 高级ex模式
-s Silent (batch) mode (only for "ex")
-d Diff mode (like "vimdiff") # 比较模式
-y Easy mode (like "evim", modeless) # evim 模式
-R Readonly mode (like "view") # 只读械
-Z Restricted mode (like "rvim") # 保护模式
-m Modifications (writing files) not allowed # 不允许修改文件
-M Modifications in text not allowed # 不允许修改文本
-b Binary mode # 二进制模式
-l Lisp mode
-C Compatible with Vi: 'compatible'
-N Not fully Vi compatible: 'nocompatible'
-V[N][fname] Be verbose [level N] [log messages to fname]
-D Debugging mode # DEBUG模式
-n No swap file, use memory only # 不使用swap 文件,只使用内存
-r List swap files and exit # 列出swap文件并退出
-r (with file name) Recover crashed session # 根据文件名恢复异常退出
-L Same as -r
-A start in Arabic mode # 阿拉伯语 模式
-H Start in Hebrew mode # 希伯来语 模式
-F Start in Farsi mode # 波斯语 模式
-T <terminal> Set terminal type to <terminal> # 设置终端类型
-u <vimrc> Use <vimrc> instead of any .vimrc # 个性化设置文件
--noplugin Don't load plugin scripts # 不加载插件
-p[N] Open N tab pages (default: one for each file) # 打开N个tab界面,默认一个文件一个
-o[N] Open N windows (default: one for each file) # 打开N个窗口,默认一个文件一个
-O[N] Like -o but split vertically # 类似-o参数,但使用垂直分屏
+ Start at end of file # 定位到文件尾
+<lnum> Start at line <lnum> # 定位到指定行号
--cmd <command> Execute <command> before loading any vimrc file # 加载任何vimrc 文件之前执行的命令
-c <command> Execute <command> after loading the first file # 加载第一个文件之后执行的命令
-S <session> Source file <session> after loading the first file # 加载第一个文件之后,会话源文件
-s <scriptin> Read Normal mode commands from file <scriptin> # 从一个文件中读取正常模式的命令
-w <scriptout> Append all typed commands to file <scriptout> # 追加所有类型的命令到文件
-W <scriptout> Write all typed commands to file <scriptout> # 写入所有类型的命令到文件
-x Edit encrypted files # 编辑加密文件
--startuptime <file> Write startup timing messages to <file> # 启动时的欢迎信息编写
-i <viminfo> Use <viminfo> instead of .viminfo # 设置 viminfo 文件信息
-h or --help Print Help (this message) and exit # 帮助信息
--version Print version information and exit # 版本