为什么要用vim:
每个Linux都会有vim,vim可视为程序编辑器。
vim具有颜色语法检验,程序除功能。
vim可以识别语法错误,便于编程。(文本编辑器没有这个功能,错了用也不提示)
别的编辑器也是调用vim接口来实现功能的。
vim编辑界面,由“ESC”建来切换三种模式:
以vim打开一个文件,就进入一般指令模式,简称一般模式。
一般模式:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字。这个模式,你可以使用上下左右按键,来移动光标。你可以进行删除、复制、粘贴操作。
编辑模式:在一般模式下按[i,I,o,O,a,A,r,R] 任一键就会进入编辑模式,一般用 i 即可。此时就可以写程序,按Esc可回到一般模式。
命令模式:在一般模式下按:就会进入命令模式,左下角会有一个冒号出现,此时可以敲入命令并执行。有读取、存储、大量替换等操作。
[: / ?]任一键,会把光标移到最底下那一列。
":set nu”显示行数
":wq”保存退出
最简易操作 i ,esc, :wq
1、一般模式常用指令:搞清楚你在那个模式下操作
光标 向左移动一个字符 左箭头(或h ,还是用箭头吧 )
光标 向下移动一个字符 右箭头或 j
光标 向上移动一个字符 上箭头或 k
光标 向右移动一个字符 右箭头或 l
向下移动30列 30+j或30+下箭头
pageDown、pageUp、Home、End、方向箭头,回车键、回格键,都是保有对应功能的
0 相当于Home
$ 相当于End
G 移动到文件的最后一列
gg 移动到第一列,相当于1G
nG 移动到文件的第n列
/word 向光标之下搜索word
?word 向光标之上搜索word
x 向后删除一个字符,相当于del
X 向前删除一个字符,相当于回格键backspace
dd 删除游标所在那一列
20dd 包括光标列,向下删除20列
:n1,n2s/word1/word2/g 在第n1列到第n2列查找字符符word1,并用word2替换它
:1,$s/word1/word2/g 在第一列到最后一列查找,并替换
:1,$s/word1/word2/gc 提示用户confirm,是否替换
yy 复制光标所在那一列
20yy 复制下面20列
y1G 复制光标列到第一列所有数据
yG 复制光标列到最后一列所有数据
y0 复制光标所在字符到行首
y$ 复制光标所在字符到行尾
p 将复制的数据粘贴到光标下一列
P 粘贴到上一列
u 复原前一个动作,相当于撤销操作
Ctrl+r 重复上一个动作
. 重复前一个动作
2、命令模式的指令 (:+命令)
:w 将编辑的数据写入硬盘文件
:w! 若文件属性为只读时,强制写入硬盘。成不成功看你的权限了。
:q 离开vim
:q! 修改了文件,但不想保存,就强制退出不储存文件
注意,!有强制的意思
:wq 储存后,离开
ZZ 若文件没改,则不储存离开。若文件改了,则保存离开。
:w [filename] 另存为filename
:n1,n2 w [filename] 将n1到n2的数据存储到文件filename
:! command 在vim下进行linux命令操作。如[:! ls /home]即可在vim下,查看home下ls输出的文件信息。
:set nu 显示行号:set nonu 取消
3、创建文件/文件夹:
touch 文件名 这是创建二进制文件
mkdir 文件夹名 创建文件夹
打开文件夹: cd 文件夹名 或 cd /文件夹名
打开根目录: cd /
查看当前目录下的文件夹、文件: ls 只是查看下层,不是下下层哦!
查看某类型的文件: ls *.txt 当前目录下所有的.txt文件
查看文件属性: ls -l
创建文件,并编辑: vim 文件名
也可以先创建文件: touch 文件名 再编辑:vim 文件名
编译:“gcc -o test test.c”
编译成功后,运行:“./test”
4、vim多文件编辑功能
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim开启的所有文件
开启多窗口 [:sp{filename}], filename是新窗口开启另一个文件;只有:sp则是同一个文件在两个窗口打开。
窗口切换:
Ctrl+w,放开所有按键,再按j或“下箭头”,光标就移动到下个窗口了。
同上,k或"上箭头",光标移动到上个窗口。
结束当前窗口 :q
结束下面窗口 Ctrl+w+q 或ctrl+w+j 移动到下方窗口后再:q 结束
5、vim恢复
恢复是指,系统突然崩溃或关闭,把未保存的数据恢复回来。
原理: vim在编辑文件时,会在该文件父目录下,建立一个备份文件.filename.swp 作为暂存档。
宕机之后,你又一次vim filename ,进来之后,不是常规界面,最后一行是:
这是让你选择:
[O]pen Read-Only : 打开此文件成为只读档。
(E)dit anyway : 正常方式打开你要编辑的那个文件
(R)ecover :加载暂存档.swp。恢复宕机之前的数据。需要手动删除暂存档。
(D)elete it :删除暂存档。
(Q)uit :退出vim,回到命令提示字符。
(A)bout :与quit相似,会回到命令提示字符。
6、区块选择(一般模式下)
v 字符选择,会将光标经过的地方全部泛白
V 列选择,会将光标经过的列全部泛白
Ctrl+v 区块选择,可以用矩形的方式来选择
y 将泛白的部分复制
d 将泛白的部分删除
p 将刚复制的部分粘贴到光标处
7、vim挑字补全功能
Ctrl+x—>ctrl+n 根据,同以文件里,重复出现的字,给予补全
Ctrl+x—>ctrl+f 根据当前目录下的文件名作为关键字,给予补全
Ctrl+x—>ctrl+o 根据扩展名作为语法补充,以vim内建的关键字,给予补全。
一般1、3用的多。如,正在编写的xx.html文件时的补全提示
8、vim环境设置与记录:~/.vimrc ~/.viminfo
:set all 查看所有设置
常用设置命令
:set nu :set nonu 设置、取消 行号
:set autoindent 设置、取消 自动缩排
:set hlsearch 设置、取消 高亮度搜寻
:set backup 设置、取消 自动储存备份档filename~ 每次更改filename都会生成filename~记录原始数据
:set ruler 显示、不显示 右下角状态栏
:set showmode 显示、不显示--INSERT--之类左下角状态栏
:set backspace=(0、1、2) 编辑模式下,backspace键功能:0、1只能删除刚输入的字符/2可删除任何字符
:set all 查看目前所有环境设置值
:set 显示与系统默认值不同的设定参数,也就是你自己改动过的参数
:set bg=dark 或:set bg =light 显示不同的颜色
:syntax on 或 :syntax off 开启、关闭 语法检验,显示颜色
常用指令示意图: