博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vim与shell终端操作技巧
阅读量:5360 次
发布时间:2019-06-15

本文共 1543 字,大约阅读时间需要 5 分钟。

一、快速注释多行代码

1、添加//注释符

:10,50s#^#//#g       使用#作为分隔符

2、删除//注释符

:10,50s#^//##g       使用#作为分隔符

 

3、添加#注释符

:10,50s/^/#/g          使用/作为分隔符

4、删除#注释符

:10,50s/^#//g          使用/作为分隔符

 

二、修改多行代码

1、移动

:n1,n2 m n3          移动n1-n2行到第n3行之下

2、复制

:n1,n2 co n3         复制n1-n2行到第n3行之下

3、删除

:n1,n2 d               删除n1-n2行

 

三、替换字符串

1、

:s/pattern/new-str/             把当前行中第一个匹配pattern的字符串替换为new-str         

:s/pattern/new-str/g           把当前行中的所有匹配pattern的字符串替换为new-str

:5,26s/pattern/new-str/g     把5-26行中所有匹配pattern的字符串替换为new-str

:%s/pattern/new-str/g或:g/pattern/s/new-str/g     把整个文件中所有匹配pattern的字符串替换为new-str

:g/pattern/s/old-str/new-str/g     把整个文件中匹配pattern的所有行中的所有old-str替换为new-str

 

四、自动补全

shell终端使用TAB键可以自动补齐,而在VIM中可以在编辑状态使用crtl+p来自动补全。

 

五:跨文件操作

:10,50 w outfile      把10-50行写入到一个名为outfile的新文件

:10,50 w! outfile    把10-50行强制写入到文件outfile

:10,50 w >> outfile     把10-50行追加到文件outfile

:r  file                    把文件file的内容添加到光标之下

:50r file                 把文件file的内容添加到第50行之下

再来个复杂点的操作:

比如要在a.txt文件中读入b.txt文件的10-50行,目前的办法是这么操作:

1)、vim a.txt     打开a.txt文件

2)、:sp b.txt     在横向打开b.txt文件

3)、ctrl+w         切换到b.txt文件

4)、:9               移动光标到b.txt文件的第9行

5)、51yy           复制b.txt文件的10-50行

6)、crtl+w    切换到a.txt文件

7)、p      粘贴b.txt文件的10-50行

8)、:q!              退出

 

哎,这个操作是在有些麻烦啊。如果VIM支持可视模式的话,操作就方便多了。

1、vim a.txt

2、  V             以行尾单位的可视模式

3、 +y            移动光标选择并复制一段代码

4、vim b.txt   

5、 +p            粘贴那段代码

不过这种方法貌似没法在XSHELL的不同窗口之间操作,也就是这种操作需要在同一个shell下才能工作。

 

结合以上两种办法:

1、vim a.txt

2、V

3、:sp b.txt

4、ctrl+w

5、+p

 

哎,其实前面的方法还是复杂了。

1、vim a.txt

2、:9

3、51yy

4、:edit b.txt  会关闭a.txt文件,打开b.txt文件,需要自己保存一下

5、p

 

 

四、shell终端的快捷键

TAB键    自动补全

Ctrl+a    移动到当前行的开头位置

Ctrl+e    移动到当前行的结尾位置

Ctrl+u    删除此处到开始位置的所有内容

Ctrl+k    删除此处到结尾位置的所有内容

 

posted on
2015-06-10 14:06 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/mylinuxer/p/4565888.html

你可能感兴趣的文章
Django部署问题
查看>>
UE4开发神秘海域类游戏原型 初阶(二):动画资源的整合
查看>>
关于二维码的简单使用
查看>>
LeetCode:Regular Expression Matching
查看>>
ToadforDB2_Freeware_6.x 安装报错“Toad did not find a default DB2 client”
查看>>
div 溢出隐藏 div文字溢出用点(省略号)代替
查看>>
关于获取基站信息总结
查看>>
BZOJ.4650.[NOI2016]优秀的拆分(后缀数组 思路)
查看>>
IPMI学习资料
查看>>
CODE[VS] 1497 取余运算
查看>>
5210: 最大连通子块和 动态DP 树链剖分
查看>>
redis 安装 yum install gcc tcl
查看>>
序时薄二次开发(新增按钮)
查看>>
PHP实现根据浏览器跳转不同语言页面代码
查看>>
四、XML语言学习(1)
查看>>
无线网络发射选址
查看>>
unix系统编程小结(一)------文件I/O
查看>>
一些算法的了解
查看>>
Leetcode: House Robber II
查看>>
Log4j自定义Appender
查看>>