本文是下载的文本,不知道作者是谁。
刚开始学习,若有错误处请指出,共同进步。
QQ 群 号:513683159
最好还是使用文本在虚拟机里直接学习会比较好些,文档上传到群里了。
总结:
vim工作模式
插入命令
定位命令
删除命令
替换或取消命令
搜索和搜索替换命令
保存或退出命令
一些小技巧
①导入命令执行结果:r !命令
r !data 导入时间
②定义快捷键:map快捷键触发命令
范例 : map P I#< ESC >
: map ‘B 0x
③连续行注释
:n1,n2s/^/#/g
:n1,n2s/^#/lg
:n1,n2s/^/g
PS:
^ 表示行首
g 表示不用确认
c 表示需要确认
④替换:ab mymail samlee@ lampbrother.net
修改配置文件
若想保存快捷键等一些操作,重启后不会失效,需要将这些操作写到该用户目录下的配置文件中。
如:以root用户为例,
vi /root/.vimrc 进入后就可以编辑配置文件。
欢迎使用VIM教程 1.7版
VIM是一个强大的编辑器,它拥有大量的命令,不可能在本教程中全部解释。但是,本教程描述了足够多的命令,使你能轻松将VIM作为通用编辑器。
完成本教程的时间大约是25-30分钟,主要依赖于你在实验中花去的时间。
注意:
本课程中的命令会改变本文的内容,请创建一个副本来练习(如果你用命令“vimtutor”开始,本文已经是自动生成的副本了)。
这是由于该教程是一个.md的文档,所以可以直接用vim编辑器打开,边看边学习,很明显还是建议重新打开一个新的。
lesson1
1.1 移动光标
^ h:光标左移
k j:光标下移
< h l > k:光标上移
j l:光标右移
v
看上示意图,可知:通过对应字母可实现对光标的移动。
注意:若你不确定你按下了什么(导致变成输入字母的话),按回到正常模式。就可以继续使用字母键移动,方向键效果相同,但hjkl键会使你移动得更快,只要你熟悉了它。
1.2 退出VIM
按下< ESC >键(确保你处于正常模式).
直接输入 :q!
此命令使编辑器退出并放弃你作的作用改动。(即不保存对文本的编辑[强制])
1.3 文本编辑之删除
按下< ESC >键(确保你处于正常模式).
移动光标到你想修复的位置。
直接按下 x 键。
已经删除光标处的字符。
1.4 文本编辑之插入
按下< ESC >键(确保你处于正常模式).
移动光标到你想修复的位置。
直接按下 i 键,进入插入模式(按下你会发现页面左下角出现— INSERT —)。
此时,你就可在光标处键入对应字符。
1.5 文本编辑之追加(不太清楚跟上面的区别)
按下 < ESC > 键(确保你处于正常模式).
移动光标到你想修复的位置。
直接按下 a 键,进入插入模式(按下你会发现页面左下角出现— INSERT —)。
此时,你就可在光标处键入对应字符。
1.6 保存并退出VIM
按下< ESC >键(确保你处于正常模式).
直接输入 :wq
此命令使编辑器退出并放弃你作的作用改动。(即不保存对文本的编辑[强制])
lesson 2
2.1 删除命令
键入 dw 以删除一个单词.
按下 < ESC > 键(确保你处于正常模式).
移动光标到你想删除的单词头。
键入 dw 以使该单词消失(被删除)。
注意: 当你键入d时,字d 会在屏幕最低处显示,此时VIM在等待你键入w。 当你错误的键入时,你会看见其它的字符而非d;按下 <ESC> 重新开始。
2.2 其他的删除命令
键入 d$ 以删除光标到行尾间处的字符.
按下 < ESC > 键(确保你处于正常模式).
移动光标到正确行的末端。
键入 d$ 以使行尾字符消失(被删除)。
2.3 关于操作码和对象
许多修改文本的命令由两部分组成:操作码和对象。
删除命令d的格式如下:
d 对象
其中:
d -是操作码
对象-是操作码要操作的对象(译者:更确切地说应是范围吧?)(罗列在下方)
关于对象的小清单:
w -到下一个单词头,除开所在的第一个字符。
e -到下一个单词尾,包括所在单词的最后一个字符。
$ - 到行尾,包括了最后一个字符。
0 - 到行首,包含空格。
^ -到行首,不含空格。
G -到文本最后一行首
gg -到文本首行。
所以de会删除光标处到单词尾下的字符。
注: 不带操作码按下对象键时,仅会按对象指定的方式 移动光标。
2.4 对对象使用计数
在对象前键入重复的次数.
按下 < ESC > 键(确保你处于正常模式).
键入 2w 以使光标向后移动两个单词。
键入 3e 以使光标向后移动到第三个单词尾。
键入 0 移动到行首。
2.5 使用计数以删除得更多
为操作码键入 一个数字,使之重复多次
合并上文提到的删除操作码和对象,在对象前插入一个数字以删除更多
d 数字 对象
1.移动光标到以下以—>标记的行的第一个大写单词处。
2.键入 d2w 以删除2个大写 单词。
3.用不同的计数重复步骤1和2,以一个命令删除多个连续的大写单词。
2.6 删除行的操作
键入 dd 以删除一整行
由于需要频繁的删除一整行,vi的设计者决定通过简单的键入两d轻松删除一整行。
按下 < ESC > 键(确保你处于正常模式).
移动光标到你想删除的行。
键入 dd 以删除行(删除该行)
若键入 2dd 以删除后两行
2.7恢复命令
按下u 以恢复最后的命令,U 是修复一整行
1. 按下 < ESC > 键(确保你处于正常模式)
2.移动光标到以—>标记的行,定位到第一处错误。
3. 键入 x 以删除第一个不要的字符。
4. 现在 键入 u 以恢复最后执行的命令。
5. 这次用x命令修复该行的所有错误。
6. 现在键入一个大写的 U 以回到行的原始状态。
7.现在按几次 u 以恢复U和之间的命令。
8. 现在 按几次 CTRL+R(按住CTRL同时敲击R),以撤消恢复命令(与u命令相反)。
Lesson 3
3.1 PUT命令
输入 p 以在光标处粘贴先前删除的文本.
按下 < ESC > 键(确保你处于正常模式)
移动光标到以下以—>标记的行。
输入 dd 以删除该行,该行会被存储至VIM寄存器中。
移动光标到c)行,即被删除行要到达的前行
键入 p 将那行粘贴到光标之下
PS:有点像剪切(dd)和粘贴(p).
3.2 替换命令
按下 < ESC > 键(确保你处于正常模式)
移动光标到以下以—>标记的行。
键入 r 和要更正的字符
PS:按下r键进入替换模式,移动光标,替换按下字母替换光标处.
3.3 变更操作码
要变更光标到词尾,键入:ce
按下 < ESC > 键(确保你处于正常模式)
移动光标到以下以—>标记的行。
键入 ce 和 正确的单词
注意:ce 是删除单词并定位到插入模式(译者:其实后面的e就是对象,而前面的 c是操作码)
3.4 其它的c更改命令
同delete 命令一样,更改操作码也使用相同的对象
更改操作码的用法与删除操作码相同,格式为:
c [number] motion
所有的对象是相同的,例如w(单词)、$(行尾)。
移动到以下以—>标记的第一行。
键入 c $ 和 余下的同第二行相同的字等符,并按下
注: 在键入时,你可以使用退格以删除错误。
Lesson 4
4.1 光标定位和文件状态
键入 CTRL-G 以显示你在文件中的位置和状态.
键入G 以移动到文件行尾
1.按住CTRL键,并键入 g. 我们称之为CTRL-G。在页面的底部会呈现一个信息,指出文件名和当前文件位置。记住行号以在第三步使用。
注: 你可能见到 处于屏幕右下角的光标,这发生在设置了‘ruler’选项时(见 :hlep ‘ruler’)
2.按 G 以移动到文件底。键入 gg 以移动到文件首。
3.键入你之前所在的行号,然后键入 G。这样你会返回到你之前,即你按CTRL-G时的那一行。
4.2 搜索命令
按 / 并接一个要搜索的短语.
1.在正常模式,键入 / 字母。注意,像:命令一样,光标会出现在屏幕底
2.现在,键入 ‘errroor’.这是你想要搜索的单词。
3.想再次搜索相同的短语,简单的键入 n.
想再次搜索相同的短语并以相反的方向,键入 N.
4.要反向搜索一个短语,使用?替换/.
5.要返回之前的位置,键入 CTRL-O(按住 CTRL时,按下字母o).重复几次回到
更早的那刻。CTRL-I是向前移动
注: 当搜索到达文件尾时,它会从文件头开始搜索,除非’wrapscan’选项被设置了。
4.3 括号匹配搜索
键入 % 以找到所匹配的),],or }.
1.在以—>标记的行中,将光标定位到任一的(,[,{.
2.现在按下 %字符。
3.将光标移动到匹配的括号上
4.按 % 以移动光标到其它的匹配括号
5.移动光标到 另外的(,),[,],{ or },看看 % 是怎么做的
注:在高度程序的非匹配括号是这个是相当有用的。
4.4 替换命令
键入: s /old/new/g 以用’new’替换‘old’。
1.移动光标到以下以—>标记的行。
2.键入 : s/thee/the .注意此命令仅会更改本行的第一例”thee”.
3.现在 键入 : s/three/the/g. 加入的 g 标志 意味着 会替换本行所有的“thee”.
4.要更改两行间的所有的匹配字符串:
- type :#,#s/old/new/g 其中,#,#是要更改的行号的范围
- type :%s/old/new/g 更改全文件中的所有事件。
- Type :%s/old/new/gc 更改全文件中的所有事件,并给出替换与否的提示。
lesson 5
5.1 怎样执行外部命令
按 :! 并加上要执行的外部命令
1.键入类似的命令 : 使光标处于屏幕底。这允许你键入一个命令行。
2.现在键入 ! 字符。这允许你执行一个任何外部的shell命令
3.作为一个例子,键入 ls 接一个!,然后敲击.这会显示一个你的目录,就像你在一个shell提示符一样。或者 使用 :!dir (如果 ls不起作用的话)
注: 通过这种方式执行任何的外部命令是可能的,同样可以跟参数。
注: 所有的 : 命令必须以敲击结束。从这里开始,我们不会问题提及这些问题。
5.2 其它的写文件命令
要保存对文本作的改动,键入 :w FILENAME.
1.键入 :!dir or :!ls 以得到你的目录的清单。
2.选择一个不存在的文件名,如TEST。
3.现在 键入 : :w TEST (其中的TEST是你选择的文件名)
4.这会以TEST的名字 保存全部文件(即这个 VIM教程)。
要确认之,请键入 :!dir or :!ls 以查看你的目录。
注:如果你之前退出了VIM并以vim TEST再次启动了它,这个文件就会是你保存时的教
程的副本。
5.现在键入以下命令删除这个文件:
(MS-DOS): :!del TEST or (Unix): :!rm TEST
5.3 选择要写的文本
1.移动光标到此行。
2.按 v 并移动 光标到 以下的第5项。注意这些文本会珵高亮。
3.按 :字符。在屏幕底会显示 :’<,’> will appear.
4.按 w TEST ,其中 TEST 是一个不存在 的文件。确认你按前你看到了:’<,’>w TEST.
5.vim 会把选定的行进文件TEST中,使用 :!dir or !ls 作检查。
注: 按下v 开始选择选择。你可以将光标移动到其它地方以使选择的区变大或者 变小。
然后你可使用操作码对文本做一些事。比如,d 删除文件。
5.4 恢复和合并文件
要插入一个文件的内容键入:r FILENAME
1.只需将光标放到这一行
2.现在恢复你的TEST文件,使用命令 :r TEST 其中,TEST 是你使用的文件。
你要恢复的文件将被放置在光标行下面。
3.要确认文件被恢复了,用光标返回,
注: 你可能会阅读外部命令的输出。如 :r !ls 读入ls命令的输出并将其放置到
光标下。
lesson 6
6.1 OPEN 命令
键入 o 以在光标打开一行,并置于插入模式
1.移动光标到以—>标记的行。
2.键入小写字母 o 以在光标下插入一行,并置于插入模式
3.现在键入 一些文本,并按 < esc > 以退出插入模式
4.要在光标前插入一行,只需键入 大写字母 O,而非小写字母 o,在下一行试试
6.2: 追加命令
键入 a 以在光标后插入文本
1.移动光标到以—>标记的行。
2.按 e 直到 光标在li 尾。
3.键入 a(小写) 以追加文本到光标后
4.按照下一行完成这个单词。按< esc >退出插入模式。
5.使用 e 移动到未完成的单词,并重复步骤3和4.
注: a,i 和A 都会进入插入模式,仅有的不同是字符在哪里插入。
6.3 以别一种方式替换
键入 大写 R 以替换 更多的字符而非一个
1.移动光标到以—》标记的第一行。移动光标到第一个XXX。
2.现在 按下 R 并键入 在第二行显示的数字,以其替换xxx.
3.按下< ESC > 以 离开替换模式。注意 剩余的行仍没有改变。
4.重复以上步骤以替换剩余的XXX。
注: 替换模式下类似于插入模式,但是键入字符会删除已经存在的字符。
6.4 复制粘贴文本
用y 操作码来复制文本,以 p 粘贴此文本.
1.移动到以—>标记的行并定位到“a)”后。
2.以v 开启选择模式,移动光标到“first”前。
3.按 y 以复制高亮的文本。
4.移动 光标到下一行的:j$
5.按p 以粘贴文本,然后键入:a second < esc >.
6.使用选择模式以选择” item。“,以y复制之,以j$移动到下行并以p粘贴到那里。
注: 你可能会使用y 作操作码;yw 复制一个单词。
6.5 设置选项
设置搜索和替换时忽略大小写的选项.
1.搜索’ignore‘ ,键入 : /ignore \ < enter >重复按n几次。
2.设置 ’ic‘(忽略大小写)选项,键入: :set ic
3.现在 以n再次搜索’ignore’. 注意,Ignore and IGNORE都可以被搜到。
4.设置选项’hlsearch’ and ‘incsearch’: set hls is
5. 同在键入搜索命令,看看发生 了什么: /ignore \ < enter >
6.要禁止忽略大小写,键入: :set noic 注意: 要删除高亮匹配,键入: :nohlsearch
注: 如果 你只是想在某次搜索命令时忽略大小写,在短语后加上\c: /ignore\c \ < enter >
lesson 7
7.1 使用帮助
使用在线帮助系统.
vim 有一个广泛的在线帮助系统。要启用之,可试试这三种之一:
- 按 <help> (如果你有)
- 按 <F1> (如果你有)
- 按 :help <enter>
阅读help窗口以查看help是如何进行的。
Type CTRL-W CTRL-W 从一个窗口跳转到另一个窗口。
Type :q <ENTER> 关闭帮助 窗口。
你可以通过为”:help”给一个参数找到任何主题的帮助,试试这些(别忘了<enter>)
:help w
:help c_CTRL-D
:help insert-index
:help user-manual
7.2节:创建启动脚本
启用VIM特性.
VIM 拥有比vi更多的特性,但是大多数是被默认禁止的。要使用更多的
特性,你可创建“vimrc”文件。
1.开始编辑“vimrc”文件,这依赖于你的系统。
:e ~/.vimrc for Unix
:e $VIM/_vimrc for MS-Windows
2. 现在阅读下“vimrc”文件的例子:
:r $VIMRUNTIME/vimrc_example.vim
3. Write the file with:保存文件
:w
下次,你启动VIM后,它会使语法高亮,你可以在“vimrc”中添加所有你喜欢的
设置。
更多信息请键入 :help vimrc-intro
7.3节:补齐
使用CTRL-D和<TAB>使命令行补齐
1.确保VIM 处于非兼容模式: :set nocp
2.看看目录下有什么文件存在: :!ls or :!dir
3.键入命令的开始部分: :e
4.按 CTRL-D ,VIM会显示以“e”开头的清单。
5.按下<TAB>,VIM会以“:edit”补齐命令名。
6.现在 添加一个空格和己存的文件名头部: :edit FIL
7.按<tab>,vim会完成余下的文件名(如果它是独有的话)。
注:补齐针对大多数命令有效,只需按CTRL-R和<TAB>.特别是对 :help 非常有用
评论(0)
您还未登录,请登录后发表或查看评论