文档章节

vim常用操作与技巧

浮躁的码农
 浮躁的码农
发布于 2015/04/25 15:48
字数 1814
阅读 28
收藏 0
点赞 1
评论 0

以tomcat配置文件下的server.xml为例:

1、查找

命令1:vim server.xml

命令2:/port  查找port关键字

命令3:n:向后查找port关键字

命令4:N:向前查找port关键字

2、查找并替换

命令1:vim server.xml

命令2:        :%s/this/that  将server.xml中所有this关键字替换为that

命令3:        :%s/this/that/gc  将server.xml中this关键字替换为that,但是每次替换的时候会有提示是否替换(比较保险,常用)

3、退出编辑器

:q    :没有改动的情况下退出,如果有改动,则无法退出

:q!  :强制退出

1 vim常用操作

(1)插入命令

命令

作用

a

在光标所在字符后插入

A

在光标所在行尾插入

i

在光标所在字符前插入

I

在光标所在行首插入

o

在光标下插入新行

O

在光标上插入新行

 

(2)定位命令

命令

作用

:set nu

设置行号

:set nonu

取消行号

gg

到第一行

G

到最后一行

nG

到第n行

:n

到第n行

$

移至行尾

0

移至行首

 

(3)删除命令

命令

作用

x

删除光标所在处字符

nx

删除光标所在处后n个字符

dd

删除光标所在行

dG

删除光标所在行到文件末尾内容

ndd

删除光标所在行后n行(包括当前行)

D

删除光标所在处到行尾内容

:n1,n2d

删除指定范围行

 

(4)复制和剪切命令

命令

作用

yy

复制当前行

nyy

复制当前行以下n行(包括当前行)

dd

剪切当前行

ndd

剪切当前行以下n行(包括当前行)

p,P

粘贴在当前光标所在行下或行上

 

(5)替换和取消命令

命令

作用

r

取代光标所在处字符

R

从光标所在处开始替换字符,按ESC结束

u

取消上一步操作(这个功能找了好久)

 

(6)搜索和搜索替换命令

命令

作用

/string

搜索指定字符串,搜索时忽略大小写:set ic,取消忽略:set noic

n

搜索指定字符串的下一个出现位置

:%s/old/new/g

全文替换指定字符串

:n1,n2s/old/new/g

在一定范围内替换指定字符串

其中g表示不询问确认,如果是c的话表示询问确认

(7)保存和退出命令

命令

作用

:w

保存修改

:w new_filename

另存为指定文件

:wq

保存修改并退出

ZZ

快捷键,保存修改并退出

:q!

不保存修改并退出

:wq!

保存修改并退出(文件所有者和root可使用)

2. vim的使用技巧

(1)将一个文件的内容导入到文本文件中,其格式为:

:r 文件名

例:创建test文本,写入如下内容,将/etc/issue的内容复制到test文本中

复制代码

[root@localhost ~]# vi test

I am ws.

What's your name?  My name is LiMing

I am glad to see you.

复制代码

在最后一行的下一行插入issue的内容,在命令模式下输入:r /etc/issue,可得:

复制代码

I am ws.

What's your name?  My name is LiMing

I am glad to see you! CentOS release 6.5 (Final)

Kernel \r on an \m

复制代码

(2)在不退出vim的情况下,执行相应的操作命令,其格式为:

:!命令

例:如在命令模式下执行ls命令

复制代码

I am glad to see you! CentOS release 6.5 (Final)

Kernel \r on an \m

 

:!ls [No write since last change]

anaconda-ks.cfg install.log install.log.syslog

复制代码

(3)导入命令执行结果,相当于将前两者进行综合,其格式为:

:r !命令

例:在test的文本末尾添加日期,在命令模式下输入:r !date,其结果为:

复制代码

I am ws.

What's your name?  My name is LiMing

I am glad to see you! CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan 2 06:00:55 CST 2015

复制代码

(4)定义快捷键

可以为常用的命令定义快捷键,其格式为:

map 快捷键 触发命令

注:快捷键的创建需要同时按下Ctrl+v+创建快捷键的字母

例1:创建一个快捷键,可使在行首加入注释符#,只需在命令模式下输入:map ^P I#<ESC>,其中^P为Ctrl+v+p同时按下后的显示,I#即为行首插入注释符#,<ESC>表示退出编辑模式到命令模式。

然后在第一行执行Ctrl+p,即可得到如下结果:

复制代码

#I am ws.

What's your name?  My name is LiMing

I am glad to see you! CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan 2 06:00:55 CST 2015

复制代码

例2:创建删除行首注释符#的快捷键,在命令模式下输入:map ^B 0x。

例3:在当前光标下为邮箱创建快捷键,在命令模式下输入如下命令:

:map ^H i123@qq.com

(5)连续注释行,该命令与搜索替换命令1.(6)类似。如在连续多行添加注释符#,在命令模式下输入如下命令:

:n1,n2s/^/#/g

其中^表示行首

相对的,取消连续行注释可以在命令模式下输入如下命令:

:n1,n2s/^#//g

如果以"//"表示注释符的话,则连续注释行可在命令模式下输入如下命令:

:n1,n2s/^/\/\//g

其中"\"表示转义字符。

例:在test文本中的前两行加入//注释符:

复制代码

//I am ws. //What's your name?  My name is LiMing

I am glad to see you! CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan 2 06:00:55 CST 2015

复制代码

(6)替换

在文本文件中,可以将一个字符串替换为另一个字符串,如将mail替换为123@qq.com,其命令格式为:

:ab  mail 123@qq.com

然后在文本中写入mail,按空格或Enter键则mail自动替换为123@qq.com。

通常设置的快捷键或替换在系统重启时会消失,如果想长时间的保存快捷键的定义或替换等,可以在每个用户的家目录(如root在/root,用户在/home/用户)下写入配置文件.vimrc(root下如/root/.vimrc),然后在该配置文件中编辑模式下写入所需要的命令,且行首无需加冒号(:)。

Linux中的软件包分为源码包(脚本安装包)及二进制包(RPM包、系统默认包)。其中源码包的优点是:

1)源码包是开源的,如果有足够的能力,可以修改源代码;

2)可自由选择所需的功能

3)源码包需编译安装,所以更加适合自己的系统,稳定且效率高;

4)卸载方便,只需删除安装文件目录,且不留垃圾文件。

其缺点是:

1)安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误;

2)编译过程时间较长,安装比二进制包长;

3)因为是编译安装,安装过程中一旦报错,新手很难解决

二进制包的优点是:

1)包管理系统简单,只通过几个命令就可以实现包的安装、升级和卸载;

2)安装速度比源码包快的多

缺点是:

1)经过编译,不再可以看到源代码;

2)功能选择不如源码包灵活;

3)依赖性较强。

© 著作权归作者所有

共有 人打赏支持
浮躁的码农

浮躁的码农

粉丝 58
博文 714
码字总数 141530
作品 0
松江
程序员
更好的使用 Vim

改键 我之前一直以为改键的操作做没有必要,但是在尝试了一个月以后我已经没办法重新使用别人的键盘了 ———— 太慢了。 改建的意义在于将 Ctrl 映射到 Caps Lock 上。原因在于小拇指很容易...

局长
2016/09/05
5K
10
Vim 实用小技巧

(一)初级个性化配置你的vim 1、vim是什么? vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员、运维)习惯的编辑器。如果你是一名职业的SE,那么一定在寻找...

vincent927
2016/02/18
69
1
VIM使用系列:窗口控制与操作控制

前面介绍完准备工作和配置文件,接下来将主要介绍使用VIM进行编辑开发过程的一些控制操作和命令技巧等,主要是我在项目开发过程中遇到并使用的一下操作技巧,不进行深入的原理探讨和详解。本...

水海云
2013/02/19
0
0
Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用。作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来。 当然,直接在命令行上输入:vimtutor,就可以...

MarkCo
2016/02/25
57
0
提高 Vim 使用效率的 12 个技巧

本文由伯乐在线 -Alick 翻译,黄利民 校稿。未经许可,禁止转载! 英文出处:sheerun。欢迎加入翻译组。 1. 使用空格键做为Leader(热键) 是个非常有创意的设计,通过不同按键的顺序操作可以...

伯乐在线
2015/06/12
0
0
Vim的分屏功能

本篇文章主要教你如何使用 Vim 分屏功能 分屏启动Vim 使用大写的o参数来上下分屏。 使用小写的O参数来左右分屏。 注释: n是数字,表示分成几个屏。 关闭分屏 关闭当前窗口。 关闭当前窗口,如...

长平狐
2013/01/06
74
0
Vim的分屏功能

本篇文章主要教你如何使用 Vim 分屏功能 分屏启动Vim 使用大写的o参数来上下分屏。 使用小写的O参数来左右分屏。 注释: n是数字,表示分成几个屏。 关闭分屏 关闭当前窗口。 关闭当前窗口,如...

晨曦之光
2012/03/02
527
0
vim编辑器常用技巧

(一).写作缘由: 在使用linux的过程中,无论是运维管理还是普通用户都难免对操作文件,拥有一款得心应手的编辑器是必不可少的。可以说绝大部分使用者都是使用的vi/vim编辑器,不仅仅是因为它...

daye8ku
01/08
0
0
vim入门技巧

內容目录 vim入门技巧 一开始的时候需要知道的东东 查找的技巧 有关使用 搜索 和 C_] 进行查找时单词的区分设定 寄存器的使用 标记缓冲区 搜索时忽略大小写 vim中cscope的使用 有关显示行号的...

首席执行官机器人
02/06
0
0
技巧:Vimdiff 使用

技巧:Vimdiff 使用 转载地址:http://www.ibm.com/developerworks/cn/linux/l-vimdiff/ 各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短...

sarashare
2016/03/09
46
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 修改提交的用户名和邮箱名字

在通过git提交代码时,发现提交的用户名是自己mac的账户名,想要修改为其他名字和邮箱。 首先可以通过以下命令查看当前配置下的信息,包括用户名和邮箱: > git config --list 针对单项目的相...

edwardGe
10分钟前
0
0
Object.defineProperty()

Object.defineProperty(obj, props)方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。 obj 在其上定义或修改属性的对象 props 要定义其可枚举属性或修改的属性描述符的对象 ...

litCabbage
12分钟前
0
0
JEESZ分布式框架--单点登录集成方案(三)

多项目集成单点登录配置 当sso验证完成之后,客户端系统需要接收sso系统返回的结果时,需要定义一个过滤器获取返回结果,然后针对返回结果做相关处理.如果不需要做处理时,此处Filter也可以不...

明理萝
12分钟前
0
1
plisteditor 查看ipa包名及其它信息

1.下载ipa安装包 2.用rar等工具打开 3.将iTunesMetadata.plist文件解压出来 4.用plist Editor 工具打开 或http://www.atool.org/plist_reader.php在线反编译工具 5.在其中中找到softwareVer...

xiaogg
12分钟前
0
0
spring retry 小试

retry就是重试的意思,在我们的系统中,分布式或者是外部服务,存在其他服务异常,或者网络问题,需要我们重试的情况,但是重试可能还是错误的,总不能让系统一直报错,直到崩掉吧。所以熔断...

woshixin
15分钟前
0
0
【易错】一级缓存、二级缓存介绍与常见问题(四)

一般来说,可以在5个方面进行缓存的设计: 1.最底层可以配置的是mysql自带的query cache, 2.mybatis的一级缓存,默认情况下都处于开启状态,只能使用自带的PerpetualCache,无法配置第三方缓...

大白来袭
25分钟前
0
0
rancher安装kubernetes

参考https://rancher.com/quick-start/ 环境(必须相同。否则有很多问题): Ubuntu 16.04 Docker versions are 1.12.6, 1.13.1 or 17.03.2 1、docker安装https://docs.docker.com/install/l......

杰仪
25分钟前
0
0
几维安全Javascript代码混淆(js加密)在线使用说明

几维安全Javascript代码混淆是一项在线加密服务,用户只需将JS文件打包成zip包,提交到加密平台,即可完成代码混淆、字符串加密、属性加密、调用转换等多项保护措施,提高攻击者分析Javascr...

工作的事
27分钟前
1
0
解决dokuwiki创建中文词条文件乱码问题

若直接创建中文词条,打开本地文件夹\dokuwiki\data\pages你会发现,中文字段显示的是URL乱码,需要改一下utf8格式,方法如下:(linux系统亲测有效) 打开 .dokuwiki\conf\local.php 添加一行...

Rhymo-Wu
29分钟前
0
0
设置圆角长条progressbar背景色

1、首先在Drawable下面新建一个xml文件,将这段代码复制进去 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-......

王先森oO
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部