linux下vim命令详解
vim的使用分为三种模式:一般模式、编辑模式、指令列命令模式
【一般模式】用vi打开一个文件,就是删除、粘贴功能了,按 [:wq] 可以离开vi
【编辑模式】按下“i,I,o,O,a,A,r,R”中任一个字母就可以进入编辑模式,按下后界面左下方会出现[INSERT或REPLACE]的字样,按Esc可以返回一般模式
【指令列命令模式】在一般模式时输入' : / ? '中的任何一个按钮,可以将光标移动到最底下那一行,可以搜寻资料,而且读取、存盘、大量取代字符,离开vi,显示行号等等是在这个模式完成。
**在vi里面,[tab]这个按钮所得到的结果与空格符所得到的结果是不一样的**
如果权限不对,可以使用 [:wq!] 来强制写入,这样就实现了vi的编辑功能。
按键说明:
h左,j下,k上,l右【光标】
[Ctrl]+f下,b上,d下半,u上半【屏幕】
+ 非空格符的下一列; – 非空格符的上一列 【光标】
n<space> n表示数字,向后面移动n个字符 【光标】
0或者[Home] 本行第一个字符【光标】
$或[End]aa 本行最后一个字符【光标】
H上,M中,L下,G尾 【屏幕行数的第一个字符】
nG,移动到这个文件的第n行(可配合 :set nu) gg移动到文件第一行,相当于1G(常用)
n<Enter> 光标向下移动n行(常用)
/string 光标之下,?string光标之上 搜寻字符串
n重复前一个搜寻的动作
N反向重复前一个搜寻的动作
:n1,n2s/word1/word2/g 在第n1和n2行之间寻找word1这个字符串,并用word2取代之(常用)
:1,$s/word1/word2/g 在第1和最后一行之间寻找word1这个字符串,并用word2取代之(常用)
:1,$s/word1/word2/gc 同上,且在取代前提示给用户确认的机会(常用)
x ,X x为向后删除一个字符[del],X为向前删除一个字符[backspace](常用)
nx 连续向后删n个字符
dd 删除游标所在的一整行~~~~~~~~书上写的一整列(常用)
ndd 删除光标所在向下n行(常用)
d1G 删除光标所在到第一行的所有数据
dG 删除光标到最后一行的所有数据
d$ 删除光标所在到该行最后一个字符
d0 删除光标所在到该行第一个字符
yy 复制光标所在的那一行(常用)
nyy 复制光标所在向下的n行(常用)
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在列到最后一列的所有数据
y0 复制光标所在的那个字符到该行首的所有数据
y$ 复制光标所在的那个字符到该行尾的所有数据
p,P p为将已复制的数据在光标下一行粘贴,P为在上一行粘贴
J 将光标所在列与下一列的数据结合成同一列
c 重复删除多个数据,例如向下删除10行, 10cj
u 复原前一个动作(常用)
[Ctrl]+r 重做上一个动作(常用)
. 重复前一个动作(常用)
:w 存储(常用)
:w! 若文件只读,强制写入。不过到底能不能写入,还是跟用户权限有关
:q 离开vi(常用)
:q! 强制离开vi而不存储档案
:wq 储存后离开,若加!则是强制储存后离开
ZZ 有修改则储存后离开,无修改则不储存离开
:w [filename] 将编辑的数据储存成另一个档案
:r [filename] 将filename这个文件中的内容加到光标后面
:n1,n2 w [filename] 将n1到n2的内容储存到filename这个文件
:! command 暂时离开vi到指令列执行command的显示结果
:set nu 显示行号,设定之后,会在每一行的前缀显示该行行号
:set nonu 与set nu相反,取消行号
————————————————————————————————————–
vim的救援功能——突然死机的时候通过某种机制恢复未储存的数据【暂存档】
vim编辑过程中,在被编辑的档案的目录下,再建立一个名为 .filename.swp 的档案
由于【暂存档】存在,vim有时会判断你的文件有些问题:
1.可能有其他人或程序同时在编辑该档案。可以让别人结束vim编辑工作,或者如果你只是查看,就选择开启成只读文件okay了
2.因为某些不知名原因导致vim中断——如果尚未保存vim操作,应按下[R],此时会载入暂存档的内容,不过事后要删除暂存档的文件哦;如果确定暂存档没用,直接按下[D]即可
————————————————————————————————————-
alias vi='vim' 执行vim,如果没有这一行,就需要用vim filename来启动vim了
区块选择(Visual Block)
比如说选择一块,复制或者什么操作的
v 字符选择,会将光标经过的地方反白选择
V 行选择,会将光标经过的行反白选择
[Ctrl]+v 区块选择,可以用长方形的方式选择资料
y 将反白的地方复制起来
d 将反白的地方删除掉
多文件编辑:
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim的开启的所有文件
多窗口功能:
在指令模式下输入 :sp filename 即可,按键主要有以下几个
:sp [filename] 开启一个或者多个窗口
[ctrl]+w+j/↓ 移动光标到下方的窗口
[ctrl]+w+k/↑ 移动光标到上方的窗口
[ctrl]+w+q 离开
显示vim的所有环境设定参数 :set all
———————————————————————————–
DOS与Linux的断行字符不相同
Linux底下仅有LF($)这个断行符号
可以使用 unix2dos [kn] file [newfile] 或者 dos2unix [-kn] file [newfile] 来进行dos和linux文件的切换
语系编码转换:s
感谢您的来访,获取更多精彩文章请收藏本站。

- 最新
- 最热
查看全部