今天起blog内容附带英文释义,原意还是蛮重要的。
Linux Vim
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vi/vim的使用
分为三种模式:命令模式(command mode)、输入模式(insert mode)、底线命令模式(last line mode)。
命令模式
常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符
- : 切换到底线命令模式,以在最后一行输入命令
若要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。 命令模式只有一些最基本的命令,因此仍要依靠底线命令输入更多的命令。
输入模式
命令模式下按下i就进入输入模式。 输入模式中可以使用以下按键:
- 字符按键和shift组合,输入字符
- ENTER,回车键换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert 切换光标到输入/替换模式,光标将变成竖线/下划线
- ESC 退出输入模式,切换到命令模式
底线命令模式
在命令模式下按:进入底线命令模式 在底线命令模式下可以输入单个或多个字符的命令,可用的命令非常多。 在底线命令模式中,基本的命令有(已经省略了冒号):
按ESC键可随时退出底线命令模式
关系图:
实例:
- 建立一个名称为Luan的txt:
$ vim Luan .txt
结果:
- 按下i进输入模式,会发现左下键的“Luan.txt”更改为:
INSERT
一般情况下,按i o a都可以进入输入模式 除了ESC其他按键都是输入模式的编辑
- 按下ESC回到一般模式,再输入:wq就是保存离开。
- 这里我输入了:
I do not like noodles!
然后ESC键
再输入:wq
OK,我们现在看一下Luan.txt:
其他按键说明:
移动光标的办法(一般模式)
常用的都高亮了 h=← j=↑ k=↓ i=→ 前面可以加step,eg:24j(向上24步) PgDn(PageDown)=Ctrl+f 向下翻页 PgUp(PageUp)=Ctrl+b 向上翻页 Ctrl+d 向下翻半页 Ctrl+u 向上翻半页 +:下一行 -:上一行 n<空格>:n是数字,往后移动n个字符 0或Home:移动到此行最前方 $或End:移动到此行最后方 H 屏幕最上方的第一个字符 M 屏幕中央的第一个字符 L 屏幕最下方的第一个字符 == G 移动到这个档案的最后一行== nG 移动到这个档案的第n行 gg 移动到这个档案的第1行 =1G n 光标向下移动n行
搜索替换
/word 向下搜word ?word 向上搜word n 重复前一个搜寻动作 N 反向重复前一个搜寻动作 :n1,n2s/word1/word2/g n1,n2行之间搜寻word1替换成word2
:1,$s/word1/word2/g = :1,%s/word1/word2/g 从第一行到最后一行搜word1替换成word2
:1,$s/word1/word2/gc = :1,%s/word1/word2/gc 从第一行到最后一行搜word1替换成word2,替换前confirm是否替换
复制/粘贴/删除
x,X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 dd 剪切游标所在的那一整行,用 p/P 可以粘贴 ndd 剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴 d1G 删除光标所在到第一行的所有数据 dG 删除光标所在到最后一行的所有数据 d$ 删除游标所在处,到该行的最后一个字符 d0 删除游标所在处,到该行的最前面一个字符 yy 复制游标所在的那一行 nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行 y1G 复制游标所在行到第一行的所有数据 yG 复制游标所在行到最后一行的所有数据 y0 复制光标所在的那个字符到该行行首的所有数据 y$ 复制光标所在的那个字符到该行行尾的所有数据 p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行 J 将光标所在行与下一行的数据结合成同一行 c 重复删除多个数据,例如向下删除 10 行,[ 10cj ] u 复原前一个动作 Ctrl+r 重做上一个动作 . 重复前一个动作
其他补充
Ctrl+V
进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。
进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出 vim快捷键补充(插入模式)
vim快捷键补充(编辑模式)
vim快捷键补充(插入与编辑模式通用)
-
\rr 运行程序
-
\rc 保存并编译程序(会生成二进制文件)
|