Linux学习日志 2017/11/16

来源:互联网 发布:淘宝导航条背景色代码 编辑:程序博客网 时间:2024/06/16 02:54

                            Vim基础学习

1.    启动和退出

a)      直接在终端输入vim, 将会进入vim的界面

b)     输入 ’:q’ 命令会退出vim界面,前提是必须保存,如果不保存,则会报错。

c)      可以强制退出,来立即结束vim程序, 命令是 ‘:q!’

2.    编辑模式

a)      如果不进入编辑模式,则无法编辑文本

b)     按下 ‘i’命令,进入编辑模式

c)      最后按 ESC键退出编辑模式,返回命令模式

3.    保存工作

a)      在命令模式下输入一个冒号 ‘:‘

b)     将文件写入硬盘,在冒号后加入‘w‘ 即 ’:w  ‘

4.    模式

a)      目前,已经见到三种模式,分别是插入(编辑)模式,普通模式,命令模式

b)     有冒号的命令是命令模式的ex命令 。 如:保存命令‘:w’

c)      不加冒号的命令是普通模式的命令, 如:‘i’(进入编辑模式)

5.   移动光标

      转自:http://blog.csdn.net/bruce0532/article/details/8312933

简单的移动(适合小范围移动)

hjkl


用熟了,相对其它编辑器或者鼠标来说,确实挺方便的。


配合数字。


2j表示向下移动2行

利用查找(适合大范围移动)

/hello


向后查找关键词hello,回车就到了后面第一个hello处。


?hello


向前查找关键词hello


*向后查找当前光标处的单词


#向前查找当前光标处的单词

还有一个行内快速移动,利用f命令搜索某字符方式(适合行内移动)


f表示向后移动到某字符


比如fa表示向后移动到字符a处


Fa表示向前移动到字符a处。


这个操作,我认为不如/?查找用的爽,因为/?可以查找完整的单词。

利用w,b,以word为单位进行移动,类似hjkl(适合小范围移动)

同理,配合数字。


2w表示向后移动2个word;


2b表示向前移动2个word;


2e表示向后移动2个word,但是会移动到word字符之后。


如果想忽略标点符号的word,就用大写


W


B


E

移动到行首行尾(适合行内移动)

^表示移动到行首第一个word,即行首有空格的情况,不会移动到空格之前,而是移动到空格之后,第一个word之前;


0表示移动到行首;即行首有空格的情况,会移动到空格之前;


$表示移动到行末;即行末有空格的情况,会移动到空格之后;


如果想移动到行末最后一个非空白的字符处,就输入命令$b。一般来说,写代码,行末不会有空格存在的。这条应用没多大意义。

移动到文本开头和文本结尾(适合大范围移动)

gg表示移动到文本开头;


G表示移动到文本结尾

利用行号移动到某一行(适合大范围移动)

:123表示移动到第123行

翻页(适合大范围移动)

ctrl+f表示向下翻页


ctrl+b表示向上翻页

利用标记mark命令

ma表示标记该行为a;包括第几列的信息,都在标记a里。


‘a表示跳转到标记a处;会跳转到标记a的行首。单引号’


`a表示跳转到标记a处;会跳转到标记a的行,包括第几列。更精准。按键在波浪号处。

快速移动技巧基本就这些吧。


网上还有括号移动的,段落移动的,其实用上述技巧就够了。如果没有特别有意义的,不如熟练掌握上述技巧。


比如移动到上一个{,那么输入命令?{

熟悉快速移动技巧后。让我们想想,对于其它操作行为有很多可以举一反三的地方。


比如复制一部分文字,从time到tutor之间的内容。


The approximate time required to complete the tutor is 25-30 minutes.


最基本的就是用hjkl移动到time处,v命令,用hjkl移动到tutor,选中后,按y。命令结束。


熟悉快速移动后,/time回车,y/tutor。命令结束。


同理,如果delete,一样。/time回车,d/tutor。命令结束。


同理,如果change,一样。/time回车,c/tutor。命令结束。

change命令,适合修改代码。很有用。具体介绍可以输入命令:help c


比如cc表示删除本行并开始重写。删除本行同时执行insert模式。




原创粉丝点击