精选文章

Android下使用TCPDUMP抓包Wireshark分析数据 如果想分析Android下某个APP的网络数据交互,需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...

继续阅读

Mac下部署Android开发环境附加NDK 作为开发者,我们深有体会,不管是进行什么开发,为了部署开发环境,我们往往需要折腾很长时间、查阅很多资料才能完成,而且这次折腾完了,下次到了另一台新电脑上又得重新来过,整个部署过程记得还好,要是不记得又得重新开始,而且遇到Android这种GFW阻隔了开发资源下载链接的环境部署,又尤其浪费时间。所以这也是我写下这篇教程的初衷跟动力源泉,希望大家参考了这篇教程以后可以轻轻松松在Mac系统下将Android环境部署好。...

继续阅读

稍顯嚴肅的台中 坦白說,留在腦海中的台中影像並不多,來台灣之前在Booking上只訂到了台中的一家青旅,第一次住青旅有些不習慣,幹什麼都放不開。 同屋的一個男生是台灣人,不過一年中四分之三的時間在上海跟北京,這麼說來跟我還是比較有共同話題的。得之我準備花15天的時間環島,覺得太倉促了,他們大學時期花一個半月的時間也不見得能將台灣島給逛完。我只能無奈地表示,兩岸允許的簽證時間有限,自己的空閒時間更有限,只能用打卡式的旅行了,我深知正真地旅行應該慢下來,融入當地的環境,感受他們的風土人情,但第一次只能這樣作罷,以後換成民進黨上台,形勢會變成怎樣還不得而知,能否再過來還是個未知數。而我一向信奉的人生格言是秉燭夜遊,活在當下,所以,理解自己吧。...

继续阅读

為之留戀的新竹 來新竹之前本沒有對她有過高的期待,慢慢對她加分要從桃園火車站出發前往新竹開始。 在桃園火車站的候車月台上,有醒目的旅遊資料發放處,這上面的擺放的全是新竹的旅遊宣傳資料,關鍵的是資料做得非常簡潔易懂,而接下來一天的新竹之行就全部是依據這份寶典的指引來完成的。...

继续阅读

從桃園開始台灣之行 初到台灣恰逢華夏銀行系統升級,特意準備的華夏銀聯卡在桃園機場沒能派上用場,只好用建行在機場5000塊,算下來是很不划算的,但是沒辦法,誰叫我出機場就得花錢呢。 從機場打車到桃園的酒店,花了將近六百塊新台幣,到酒店時五點多,天已經漸亮了,洗漱完等到七點吃過早餐就開始補覺囉,一覺醒來已是中午,帶著換下來的衣服外出找自助洗衣店,順便覓食。...

继续阅读

  • Prev
  • Next

Vim复制粘贴删除与修改

文章分类 : Linux, 应用与编程, 教程

一、复制粘贴

指令模式下的复制粘贴类命令通常需要配合一般模式下的有关快捷操作一起使用方能达到效果,所以这里的复制粘贴命令也不单独局限于指令模式。

常用的复制粘贴方法如下:

1、复制指定行进行粘贴:

在一般模式下将光标移动到指定行,按下 yy,完成拷贝,再将光标移动到要粘贴的前一行,按 p 进行粘贴。

2、复制指定区域进行粘贴:

在一般模式下将光标移动到复制区域的开始位置,按下 v,进入可视模式,用 hjkl 或者方向键移动光标来选定区域,完成选定后按 y 完成拷贝,再将光标移动到粘贴位置,按 p 进行粘贴。    

3、复制指定单词进行粘贴:

在一般模式下将光标移动到指定单词第一字母位置,按下 yw,完成拷贝,再将光标移动到要粘贴的位置,按 p 进行粘贴。

4、结合标记命令完成复制粘贴:

在一般模式下将光标移动到拷贝开始行,按 ma 做下标记 a;光标移动到拷贝结束行,按 mb 做下标记 b;再将光标移动到要粘贴的前一行,按 mc 做下标记 c;最后在命令模式下输入“’a,’b copy ‘c”,按回车完成粘贴。如果将 copy 换成 move,则完成剪切操作。

5、复制多行进行粘贴:

在一般模式下将光标移动到起始行,按 nyy 拷贝 n 行,再将光标移动到要粘贴的前一行,按 p 进行粘贴。

6、通过行数指定范围跟目的位置来完成复制粘贴:

在命令模式下输入“n1,n2 copy n3”,按回车,则将第 n1 行到 n2 行复制到了第 n3 行。如果将 copy 换成 move,则完成剪切操作。

7、使用非默认缓冲区完成复制粘贴:

前面的复制粘贴方法都是使用的默认缓冲区,Vim 编辑器除了默认缓冲区外,还有由 a、b、c … z 为代号的26个独立缓冲区,所以 Vim 编辑器中最多可以同是保存27份拷贝。使用非默认缓冲区完成复制粘贴操作时只需要加上双引号跟缓冲区代号即可。见下一实例。

8、将指定行拷贝到 x 缓冲区并完成粘贴:

在一般模式下将光标移动到指定行,按下 “xyy,拷贝到 x 缓冲区,再将光标移动到要粘贴的前一行,按 “xp 进行粘贴。

二、删除操作

跟复制粘贴操作相类似,Vim 下的删除操作通常也需要跟一般模式下的有关快捷操作配合使用,而且使用方式触类旁通。

常用的删除操作如下:

1、删除指定字符:

在一般模式下将光标移动到指定字符位置,按下 x 。

2、删除连续 n 个字符:

在一般模式下将光标移动到指定连续n个字符开始位置,按下 nx 。

3、删除连续区域内的所有字符:

在一般模式下将光标移动到连续区域的开始位置,按下 v,进入可视模式,用 hjkl 或者方向键移动光标来选定区域,完成选定后按 x 或 d 。

4、删除指定行:

方法一:在一般模式下将光标移动到指定行,按下 dd ;

方法一:在一般模式下将光标移动到指定行,切换到命令模式,输入“d”后回车。

5、删除指定单词:

在一般模式下将光标移动到指定单词第一字母位置,按下 dw 。

6、结合标记命令完成删除操作:

在一般模式下将光标移动到删除开始行,按 ma 做下标记 a;光标移动到删除结束行,按 mb 做下标记 b;最后在命令模式下输入“’a,’b delete”(简写“’a,’b d”也是等价的)后回车。

7、删除连续 n 行:

方法一:在一般模式下将光标移动到起始行,按下 ndd。

方法二:在一般模式下将光标移动到起始行,切换到命令模式,输入“nd”后回车。

8、通过行数指定范围来完成删除操作:

在命令模式下输入“n1,n2 delete”(简写“n1,n2 d”也是等价的)后回车,则将第 n1 行到 n2 行删除。

9、删除指定行至正文的末尾:

在一般模式下将光标移动到指定行,切换到命令模式,输入“.,$d ”后回车。

10、删除从字符串 str1 到 str2 的所有行:

切换到命令模式,输入“/str1/,/str2/d”后回车。

三、修改操作

这里要介绍的 Vim 下的修改操作,更确切地说应该是文本替换操作。利用 %s 命令可以实现字符串的替换。

常用的修改操作如下:

1、用字符串 str2 替换指定行首次出现的字符串 str1:

在一般模式下将光标移动到指定行,切换到命令模式,输入“s/str1/str2/”后回车。

2、用字符串 str2 替换指定行所有出现的字符串 str1:

在一般模式下将光标移动到指定行,切换到命令模式,输入“s/str1/str2/g”后回车。

3、用字符串 str2 替换 n1 行到 n2 行所有出现的字符串 str1:

切换到命令模式,输入“n1,n2s/str1/str2/g”后回车。

4、用字符串 str2 替换指定行到末尾所有出现的字符串 str1:

在一般模式下将光标移动到指定行,切换到命令模式,输入“.,$s/str1/str2/g”后回车。

5、用字符串 str2 替换每行所有出现的字符串 str1:

方法一:切换到命令模式,输入“%s/str1/str2/g”后回车。

方法二:切换到命令模式,输入“g/str1/s//str2/g”后回车。

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。s 前面可以指定替换范围,% 表示全文范围。

除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。

本文地址:https://www.cpplive.com/html/1668.html

这里因为你的留言而存在!!!

You must be logged in to post a comment.