有关Vim教程
在Unix系统上
$export LANG=zh_CN.utf-8 (英 --> 汉)
$ vimtutor
在Windows系统上
:help tutor
文件命令:
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3 ...
切换到下一个文件
:bn
切换到上一个文件
:bp
在vim窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file(水平分割)
:vs file (垂直分割)
vim的模式 :
正常模式(按 Esc 进入) 左下角显示文件名或为空
插入模式(按 i 键进入) 左下角显示--INSERT--
可视模式(按 v 键) 左下角显示--VISUAL-
查找命令:
/text 查找text
?text 查找text,反向查找。
按 n 健查找下一个,按 N 健查找前一个
替换命令:
s/old/new/ 用old替换new,替换当前行的第一个匹配
s/old/new/g 用old替换new,替换当前行的所有匹配
%s/old/new/ 用old替换new,替换所有行的第一个匹配
%s/old/new/g 用old替换new,替换整个文件的所有匹配
移动命令:
h 左移一个字符l 右移一个字符,这个命令很少用,一般用w代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用
其实,我们平时使用移动命令大部分是使用键盘上的 方向键。
G 使光标移动到文件底部
1+ G 使光标移动到文件顶部
n(表示数字) + G 使光标移动到第n行
ctrl + g 显示光标所在行的状态信息
撤销和重做:
u 撤销(Undo)
U 撤销对整行的操作
Ctrl + r 重做(Redo),即撤销的撤销。(很少用到)
退出命令:
:wq (或者 :x )保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件
窗口命令 :
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit ( vs ) 可以纵向打开窗口。
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
关闭窗口
:close 最后一个窗口不能使用此命令,可以防止意外退出vim。
:q 如果是最后一个被关闭的窗口,那么将退出vim。
:only 关闭所有窗口,只保留当前窗口
在vim内执行外部shell的命令 :!xx
:!dir (或 :!ls)获知當前目錄的內容
下面是看 vimtutor 教程所做笔记,
按下Caps Lock键(大写锁定)
然后按字母键j足够多次来系移动光标,可以内容充满屏幕(拼接命令)。
1、正常模式下,在文本中移动光标可以使用 箭头键,也可使用h、j、k、l字母键。
h (左移) j (下行) k (上行) l (右移)
2、在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符
可以按下 i 键在光标处插入文本
3、正常模式下,删除操作 :
dw 从当前光标删除至单字/单词末尾
d$ 从当前光标删除至当行的末尾
dd 删除整行
命令的格式:
[number] command object 或者 command [number] object(w,$)
各选项含义:
number -- 表命令执行的次数
command -- 表要做的命令 eg: d 表删除
object -- 表要操作的对象 eg: w 是单字/单词,$ 是到行末
u 撤销以前的操作,回到前一次
U(大写) 撤销一行中的所有改动
ctrl + r 撤销掉使用u或U撤销的内容
4、替换光标所在位置的字符 r+字符
(也可以在r前加数字n,表替换n个字符;替换多个字符 shift + r )
更改项命令 cw单个单词, c$从光标出到行末
格式:
[number] c object 或者 c [number] object
字母大小写转换:
按~键,可将光标出的字符转换大小写,且光标移动到下一个字符
按 U(大写)可将选中的内容变为大写
按 u(小写)可将选中的内容变为小写
5、定位及文件状态(正常模式下)
光标定位:
ctrl + g 显示光标在此文件中所在的行位置以及文件状态
shift + g 光标跳转到文件的最后一行
1 + shift + g 光标跳转到文件的首行(选中某一行的第一列,按gg也可跳转到文件头)
num + shift + g 光标跳转到文件的第num行
搜索指定字符(串)
/字符( 或?字符 )
n键向下查找,shift + n 键向上查找
差找配对的括号 按 %
在一行內替换第一个字符串 old 为新的字符串 new, 请输入 :s/old/new
在一行內替换所有的字符串 old 为新的字符串 new, 请输入 :s/old/new/g
在兩行內替換所有的字符串 old 为新的字符串 new, 请输入 :#,#s/old/new/g
在文件內替換所有的字符串 old 为新的字符串 new, 请输入 :%s/old/new/g
进行全文替换使询问用戶确认每个每个替换需添加 c 选项, 请输入 :%s/old/new/gc
6、在正常模式下, vim 内执行外部命令为 ":"
:!dir ( 或 :!ls) 查看当前目录的内容
:!rm file 删除当前目录下file文件
:w newfile 将当前文件的内容保存到newfile文件中
:#,# w newfile 把当前文件 #~#行的内容保存到newfile文件中
:r file 把file文件的内容提取出来,并放到光标所在位置
7、设置问题
set nu 显示行号
set ic 英文忽略大小写
set hls 设置高亮
set cindent 使用C样式缩进
set noignorecase 不忽略大小写的查找
set nohlsearch 关闭高亮搜索显示
set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
......8、关于系统自带的vimrc
Linux用户
创建 ~/.vimrc
Windows用户
创建 _vimrc