vim与shell终端操作技巧
一、快速注释多行代码
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终端操作技巧的更多相关文章
- 云计算与大数据实验:Hbase shell终端操作之数据操作一
[实验目的] 1)学会向表中添加记录 2)学会添加记录时动态添加列 3)学会查看一条记录 4)学会查看表中的记录总数 5)学会删除记录 [实验原理] Hbase shell作为Hbase数据的客户端, ...
- 记录linux系统用户shell终端操作记录
在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { r ...
- 在shell终端操作oracle数据库的常用命令
这里面是在一个项目中用到的操作oracle数据库的常用linux命令,因为当时无法用plsql远程连接,大部分操作都需要在命令行窗口进行,总结一下 第一种方式 (1)先切换至sqlplus [orac ...
- shell字符串操作技巧
操作字符串 -------------- Bash支持超多的字符串操作,操作的种类和数量令人惊异.但不幸的是,这些工具缺乏集中性. 一些是参数替换的子集,但是另一些则属于UNIX的expr命令.这就导 ...
- vim常用操作技巧与配置
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- vim 常用操作技巧
记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...
- linux之shell终端使用操作快捷键
所谓的shell终端就是桌面右键里面的打开终端那个终端 敲命令是一件很有趣的事,可是有时候我们会遇到一些很麻烦的事 例如,命令太长导致敲完后一大串字符可读性低,想把vi filename 快速改为ca ...
- 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)
注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...
- 【转】更改 shell 终端的默认键绑定为 vi 模式
我们使用的 shell 终端是 bash,它的默认键绑定方式是 emacs 模式.比如键入 Ctrl+a 光标会停在行首,Ctrl+e 光标会停在行尾等等. 如果希望在终端输入时使用 vi 的模式,比 ...
随机推荐
- MySQL5.7安装及遇到的问题
Mysql安装教程: mysql历史版本下载 将在官网下载的安装包解压(如:如D:\mysql-5.7.19-x64) 1.(修复问题Q1时必做,全新安装时不要删除)在mysql的安装路径(如D:\ ...
- java反射——方法
大家都知道反射技术在Java里面时非常重要的一个技术点,因为Java好多框架的编写都是基于反射的,别的不多说,spring框架里面的IOC就是基于反射实现.那么什么是反射呢?JAVA反射机制是在运行状 ...
- AI篇6====>第一讲
1.人工智能 小米:小爱 百度:AI云平台 科大讯飞AI平台 2.百度语音合成 # Author: studybrother sun from aip import AipSpeech #从文本到声音 ...
- VC的CListCtrl控件
1. CListCtrl 样式及设置 2. 扩展样式设置 3. 数据插入 4. 一直选中Item 5. 选中和取消选中Item 6. 得到CListCtrl中所有行的checkbox的状态 7. 得到 ...
- Akka Essentials - 1
参考Akka Essentials 1 Introduction to Akka Actor Model Actor模式的由来 In 1973, Carl Hewitt, Peter Bishop ...
- 关于websocket
一句话总结: websocket可以说是基于HTTP但有有所进化的一个介于应用层和传输层的接口抽象,不是协议. 1 需要基于HTTP进行3次握手,4次挥手(在握手期间建立websocket连接,不再通 ...
- NPOI 操作office、word、excel
下载地址为:http://npoi.codeplex.com/releases/view/616131 可以操作excel表,行,单元格内家及样式等. 使用示例: usin ...
- Linux内核协议栈相关资料链接
1.Linux内核网络分析(个人博客集合,分析较清晰) http://blog.csdn.net/qy532846454/article/category/1385933/2
- Java加密技术(四)非对称加密算法RSA
RSA 这样的算法1978年就出现了.它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作.也非常流行.算法的名字以发明者的名字命名:Ron Rivest, AdiShamir ...
- Python高级教程-filter
Python中的filter() Python内建的filter()函数用于过滤序列.和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函数依次 ...