一、快速注释多行代码

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    删除此处到结尾位置的所有内容

vim与shell终端操作技巧的更多相关文章

  1. 云计算与大数据实验:Hbase shell终端操作之数据操作一

    [实验目的] 1)学会向表中添加记录 2)学会添加记录时动态添加列 3)学会查看一条记录 4)学会查看表中的记录总数 5)学会删除记录 [实验原理] Hbase shell作为Hbase数据的客户端, ...

  2. 记录linux系统用户shell终端操作记录

    在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { r ...

  3. 在shell终端操作oracle数据库的常用命令

    这里面是在一个项目中用到的操作oracle数据库的常用linux命令,因为当时无法用plsql远程连接,大部分操作都需要在命令行窗口进行,总结一下 第一种方式 (1)先切换至sqlplus [orac ...

  4. shell字符串操作技巧

    操作字符串 -------------- Bash支持超多的字符串操作,操作的种类和数量令人惊异.但不幸的是,这些工具缺乏集中性. 一些是参数替换的子集,但是另一些则属于UNIX的expr命令.这就导 ...

  5. vim常用操作技巧与配置

    vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中  ...

  6. vim 常用操作技巧

    记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...

  7. linux之shell终端使用操作快捷键

    所谓的shell终端就是桌面右键里面的打开终端那个终端 敲命令是一件很有趣的事,可是有时候我们会遇到一些很麻烦的事 例如,命令太长导致敲完后一大串字符可读性低,想把vi filename 快速改为ca ...

  8. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  9. 【转】更改 shell 终端的默认键绑定为 vi 模式

    我们使用的 shell 终端是 bash,它的默认键绑定方式是 emacs 模式.比如键入 Ctrl+a 光标会停在行首,Ctrl+e 光标会停在行尾等等. 如果希望在终端输入时使用 vi 的模式,比 ...

随机推荐

  1. MVC 发布程序 HTTP 错误 403.14 - Forbidden 及 HTTP 错误 404.2 - Not Found

    新建立的MVC项目发布程序后会浏览网站可能会有问题 这时不要去按照系统提示打开“目录浏览”,而是应该去做一些配置 具体步骤: 1:配置web.Config <system.webServer&g ...

  2. input 和 button 的 border-box 模型和 IE8 错位

    用 input 和 button 时出现了几个奇怪的现象,先放几个 input 和 button CSS: * { margin:; padding:; } input,button { width: ...

  3. Java实现 Hessian接口测试

    Hessian接口测试简单单例 Hessian是基于Binary –RPC(二进制远程过程调用协议)进行通讯. Hessian就是把Java对象转变成字节序列,然后通过Http传输到目标服务器上(主机 ...

  4. svn实现共享文件夹/文件或svn文件夹/文件链接

    我们在实际开发过程中,经常会遇到这种情况,多个项目组使用同一公共底层代码:公共底层代码是有专门负责人开发的,其它项目组只是使用即可,那么多个项目组就需要把公共底层代码放到各自的解决方案或目录文件下,解 ...

  5. NW.js 入坑指南

    NW.js是什么? NW.js 是基于 Chromium 和 Node.js 运行的, 以前也叫nodeWebkit.这就给了你使用HTML和JavaScript来制作桌面应用的可能.在应用里你可以直 ...

  6. finereport-JS

    JS实现定时刷新报表 setInterval("self.location.reload();",10000); //10000ms即每10s刷新一次页面. 注:对于cpt报表,若 ...

  7. FineReport---过滤条件

    1.过滤条件,获取值 该单元格的值 ,是当team为A,content为产量 数据列过滤条件常用处理:nofilter.left.and ,or 2.单元格值等查询条件区域的内容 所选你应该指的就是日 ...

  8. php自定义函数: 下载本地服务器的大文件

    // 使用方法 $file_path = './a.zip'; // 只能是本地服务器文件, 多大的文件都支持!! down_file($file_path); // 函数参数: 服务器文件路径,下载 ...

  9. 面试常见的selenium问题

    1.如何切换iframe 问题:如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的.反之你在一个iframe中查找另一个iframe元素或default co ...

  10. 0502-Hystrix保护应用-简介,使用,健康指标等

    一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_circuit_ ...