Vim命令高级用法

1.启动
-R        只读方式打开,但打开后如果有权限,可以强制执行保存。
-c (command) 加载后执行命令,比如"vim -c /most myfirst" 打开该文件后直接向后搜索most。
更多的可以参考 -h

2.同时编辑多个文件
vim [file1] [file2] ...

此时

:ar 查看当前编辑的文件名

:n  切换当前编辑的文件

另外还有

:e  切换到新文件

:w  读取已存在的文件并将其内容放入正在编辑的文件中

:w [起始行][终结行] [文件名]  将当前文件部分放于新文件中,若已存在则覆盖。

3.文本重排

命令模式下

dd 删除当前行并存放于临时缓冲区中(类似于剪切)

yy 复制当前行并存放于临时缓冲区中

p   将指定缓冲区内容放到当前光标位置之下

P   将指定缓冲区内容放到当前光标位置之上

4.域操作

操作符(d、y等)与域结合可以进行域操作。

















功能

$

标识域为从光标位置开始到当前行尾

0

标识域为从光标位置前到当前行首

e或w

标识域为从光标位置开始到当前字尾(其他用法:如3dw,删除光标后3个字)

b

标识域为从光标位置前到当前字首

5.缓冲区的使用

  5.1 数字编号缓冲区

  双引号+n(缓冲区号,1至9)+(p或P)

  例如"9p

  其中对数字缓冲区的使用,删除或复制时,每次将所有区后移,1到2,2到3,......,9原有被清空并被8覆盖。

  5.2 字母编号缓冲区

  双引号+缓冲区名(从小写字母a至z)+命令

  练习用例:

     "wdd   删除当前行,副本保存在缓冲区w

     "wp     将缓冲区w内容复制到光标位置

     "z7yy  复制7行到缓冲区z

     "zp  将缓冲区z的内容(7行)复制到光标位置

6.光标定位键

















功能

[Ctrl-d]

将光标向下移动到文件尾,通常每次移动12行

[Ctrl-u]

将光标向上移动到文件头,通常每次移动12行

[Ctrl-f]

将光标向下移动到文件尾,通常每次移动24行

[Ctrl-b]

将光标向上移动到文件头,通常每次移动24行

7.Vim定制选项

7.1  :set

:set all  显示所有选项

:set  只显示修改过的选项

:set X? 显示选项X的值

设置方式

布尔式选项: set X选定,set noX禁止

数字式选项:  set X=12

串选项:类似于数字式选项,但赋值的是串

一些选项:


























选项

缩写

功能

autoindent

ai

将新行与前一行的行首对齐

ignorecase

ic

在搜索选项中忽略大小写

number

nu

显示行号

shiftwidth

sw

设置缩进的空格数,与autoindent选项一起使用

wrapmargin

wm

设置右边界为指定的字符数

7.2缩写

:ab uno UNIX Operating System 将uno设置为UNIX Operating System的缩写,输入uno加一个空格就会自动替换。

:unab uno 取消缩写

7.3宏操作

:map [宏名] [操作功能键序列]

宏是临时的,只在当前编辑会话中起作用。

本节所有设置(set、缩写、宏)都是临时的,如果需要长期使用,应在当前(工作)目录下创建.exec文件,在其中保存设置。内容形如

set report=0

ab uop UNIX Operating System

map q 5dd

8.其他命令

8.1 运行shell命令

  :!+命令 例如:!date

8.2 行连接 J

8.3搜索与替换

  利用/或?+输入+n+.+n+.+……可以实现批量替换

(0)

相关推荐

  • vim快捷键大全

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interface"的缩写,vim是vi IMproved(增强版的vi).在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim. vi有3个模式:插入模式.命令模式.低行模式 1)插入模式:在此模式下可以输入字符,按ESC将回到命令模式. 2)命令模式:可以移动光标.删除字符等. 3)低行模式

  • linux Vim基本操作方法

    最近在用Ubuntu11.04重新学习以前没怎么学好的Unix,不过在VMware7.1.4下Ubuntu11.04的X Window表现不是很好.这都无所谓,先把命令行的基础打好再说.Ubuntu的Vi也不好用,搞了个Vim用来学习了,简单记录下它的基本操作,备用,给大家提供一本书<UNIX实用教程(第5版)>命令模式切换到文本输入模式: 键 功能 i 在光标左侧输入文本 I 在当前行的行首输入文本 a 在光标右侧输入文本 A 在当前行的行尾输入文本 o 在当前行的下一行添加一个空行,光标放

  • vim命令大全

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当

  • Vim中的几种文件备份方法总结

    一.Vim 的交换文件 .filename.swp 默认交换文件在打开文件的时候就会产生交换文件,正常退出的时候才会删除交换文件(断电,Ctrl+Z强制退出就不会删除),内容大致是这个样子. 通过在 Vim 配置文件设置 set noswapfile 来关闭交换文件. 二. Vim 的备份文件 filename~ 默认关闭,需要通过设置 set backup 来开启,Unbuntu的Vim配置文件是 /etc/vim/vimrc 开启后,对文件进行修改后会保存修改之前的一个副本,展示如下: 如果

  • Vim命令高级用法

    1.启动-R  只读方式打开,但打开后如果有权限,可以强制执行保存.-c (command) 加载后执行命令,比如"vim -c /most myfirst" 打开该文件后直接向后搜索most.更多的可以参考 -h 2.同时编辑多个文件vim [file1] [file2] ... 此时 :ar 查看当前编辑的文件名 :n  切换当前编辑的文件 另外还有 :e  切换到新文件 :w  读取已存在的文件并将其内容放入正在编辑的文件中 :w [起始行][终结行] [文件名]  将当前文件部

  • 详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    vi/vim介绍 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. 1.vi和vim的区别: 就是在进入一般命令模式后,当按下(i.I.o.O.a.A.r.R)等任何一个字母,之后就会今入编辑模式.此时就可以进行文本编辑了. 在一般命令模式中,输入(:/ ?)三个中任何一按键就进入了指令命令模式.在这个模式中,可以进行读取.存盘.大量取代字符.离开vi.显示行号等功能. vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当

  • Linux中mv命令的高级用法示例

    前言 mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 命令格式: mv [选项] 源文件或目录 目标文件或目录 mv 也是 Linux 下一个使用频率非常高的命令,但除了一些基本用法,你还知道它的哪些高级用法呢? 1. 基本用法 移动一个/多个文件: 移动一个/多个目录: 重命名文件/目录. 这些都是很基本的用法,无需赘述.下面介绍一些更高级的用法. 2. 打印操作信息 我们如果只移动一

  • Python3网络爬虫中的requests高级用法详解

    本节我们再来了解下 Requests 的一些高级用法,如文件上传,代理设置,Cookies 设置等等. 1. 文件上传 我们知道 Reqeuests 可以模拟提交一些数据,假如有的网站需要我们上传文件,我们同样可以利用它来上传,实现非常简单,实例如下: import requests files = {'file': open('favicon.ico', 'rb')} r = requests.post('http://httpbin.org/post', files=files) print

  • Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析

    本文实例讲述了Mysql数据库高级用法之视图.事务.索引.自连接.用户管理.分享给大家供大家参考,具体如下: 视图 视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性. 1.----创建视图: create view 视图名称(一般以v_开头) as 查询语句; 2.----查看视图: select * from 视图名称; 3.----删除视图: dro

  • 详解shell 变量的高级用法示例

    变量删除和替换 案例:从头开始匹配,将符合最短的数据删除 (#) variable_1="I love you, Do you love me" echo $variable_1 variable_2=${variable_1#*ov} echo $variable_2 案例:从头开始匹配,将复合最短的数据删除(##) varible_3=${variable_1##*ov} echo $varible_3 案例:替换字符串,只替换第一次匹配成功的(/) echo $PATH var6

  • Shell编程之变量的高级用法详解

    变量替换 语法 说明 ${变量名#匹配规则} 从变量开头进行规则匹配,将符合最短的数据删除 ${变量名##匹配规则} 从变量开头进行规则匹配,将符合最长的数据删除 ${变量名%匹配规则} 从变量尾部进行规则匹配,将符合最短的数据删除 ${变量名%%匹配规则} 从变量尾部进行规则匹配,将符合最长的数据删除 ${变量名/旧字符串/新字符串} 变量内容符合就字符串,则第一个旧字符串会被新字符串替换 ${变量名//旧字符串/新字符串} 变量内容符合就字符串,则全部的旧字符串会被新字符串替换 示例 var

  • 总结Pyinstaller打包的高级用法

    一.安装pyinstaller PyInstaller是一个用来将Python程序打包成一个独立可执行文件的第三方包. 因是第三方包,所以需要安装一下: pip install pyinstaller 或者升级到最新版本: pip install --upgrade pyinstaller 或者安装开发者版本: pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 当然了,也可以下载whl文件,

  • java高级用法之JNA中的Function

    目录 简介 function的定义 Function的实际应用 总结 简介 在JNA中,为了和native的function进行映射,我们可以有两种mapping方式,第一种是interface mapping,第二种是direct mapping.虽然两种方式不同,但是在具体的方法映射中,我们都需要在JAVA中定义一个和native方法进行映射的方法. 而这个JAVA中的映射在JNA中就是一个function.通过或者function对象,我们可以实现一些非常强大的功能,一起看看吧. func

  • java高级用法之绑定CPU的线程Thread Affinity简介

    目录 简介 Java Thread Affinity简介 AffinityLock的使用 使用API直接分配CPU 总结 简介 在现代计算机系统中,可以有多个CPU,每个CPU又可以有多核.为了充分利用现代CPU的功能,JAVA中引入了多线程,不同的线程可以同时在不同CPU或者不同CPU核中运行.但是对于JAVA程序猿来说创建多少线程是可以自己控制的,但是线程到底运行在哪个CPU上,则是一个黑盒子,一般来说很难得知. 但是如果是不同CPU核对同一线程进行调度,则可能会出现CPU切换造成的性能损失

随机推荐