Vim日常操作 [转贴]

motions, scrolling -- 光标定位,滚屏与翻页

motions -- 光标定位
光标定位(motions) -- 精选命令
命令功能
$当前行的末尾
0当前行的开头
gg文件头
G文件尾
10gg
10G
跳到第10行
``这是两个 back quote,在键盘上是ESC下边那个键。
回到光标跳转前的位置
H跳到屏幕上的第一行
M跳到屏幕的中间行
L跳到屏幕上的最后一行
gk屏幕所见的上一行
gj屏幕所见的下一行

 

在Vim的命令模式下,有很多移动光标的命令,带给我们很大的便利。最常用的莫过于0 和$ ,把光标定位在行头和行尾。

常用的还有G 把光标定位在文件尾,gg 回到文件头。在这两个命令前面加一个数字就可以去到那一行,例如10gg 会带你去到第10行。

`` 的作用是回到光标跳转前的位置。例如,假设光标现在在第10行,按 G 去到文件尾,再按 `` 就可以回到第10行。

如果你发觉有时候k 和j 不是很好用(按一下就跨越屏幕上的几行),可以试一下用gk 和gj 。

 

scrolling -- 滚屏与翻页
滚屏与翻页 (scrolling) -- 精选命令
命令功能
zt
z回车
把光标所在行移到 屏幕顶端
z.把光标所在行移到 屏幕中间
zb把光标所在行移到 屏幕底部
CTRL-E向下滚屏一行(往下阅读文档)
CTRL-Y向上滚屏一行(往上阅读文档)
CTRL-F往前翻一页
CTRL-B往后翻一页

光标定位命令给文档编辑操作带来方便,而滚屏和翻页命令则让我们在阅读文档时感到舒适。

强烈推荐 以下几个按键映射:

:map <Space> <C-F>
:map <S-Space> <C-B>
:map <CR> <C-E>
:map <UP> <C-Y>
:map <DOWN> <C-E>

特别是第一个映射:map <Space> <C-F> ,设置后就可以用空格键翻页了,很是方便。另外几个映射的作用是:用Shift-Space向上翻页,按回车键向下滚屏一行、按上下箭头进行向上向下滚屏。

 

 

yank, put, delete, registers -- 复制、粘贴、剪切

复制、粘贴、剪切 (yanking, registers) -- 精选命令
命令功能
dd删除当前行
yy复制当前行
d$删除从光标位置到行尾的内容
yt<复制从光标位置到下一个“<”前的内容
(另外,ct< 修改从光标至“<”前的内容,在编辑HTML、XML文件时很方便)
"x复制把复制内容放进寄存器x
(x可以是26个英文字母之一,区分大小写)
"xp粘贴寄存器x的内容
"+特殊寄存器,读写系统剪贴板
:reg查看各个寄存器的内容

复制、粘贴、剪切,是编辑文档时常用的招数。在Vim里所有删除的内容都会进入Vim的寄存器(registers),所以可以把删除操作看成是剪切操作。

x , dd , yy 是很常用的命令,在这里就不多说了。复制或剪切多行内容可以在 dd 或 yy 前面加数字,例如可以用5yy 复制5行。

不过我更喜欢借助可视模式 (Visual mode)来进行复制剪切操作。先按v 或V 进入可视模式,然后移动光标选中要复制或剪切的内容,最后按d 剪切或者按y 复制。

在复制前可以先指定一个寄存器,方法是在双引号后跟一个字母,例如"a 指定了寄存器a,"B 指定了寄存器B。所以,"ayy 把当前行放进了寄存器a,以后就可以用"ap 来粘贴寄存器a里的内容了。如果不确定寄存器里放了什么内容,可以使用:reg 来查看。

Vim提供了一个很有用的特殊寄存器"+ ,它的内容就是系统剪贴板的内容。比如,在 firefox 里用 Ctrl-C 复制的内容就会出现在 "+ 里,可以在Vim里用"+p 粘贴出来。也可以在Vim里把复制或剪切的内容放进 "+ 里,然后在其它GUI程序里用 Ctrl-V 进行粘贴。

search, substitute - 查找、替换 (未完成 )

查找、替换(search, substitute) -- 精选命令
命令功能
*查找光标所在的单词
(这里的单词是指以空白字符或标点符号分隔开的字符串)
:set ignorecase不区分大小写
:set ignorecase smartcase自动区分大小写。输入全是小写时不区分大小写,输入中只要有大写字母就区分大小写。
:set hlsearch打开 高亮显示匹配字串
:nohlsearch 暂时关闭高亮,下次查找时自动高亮
:set nohlsearch关闭 高亮显示匹配字串

人们常喜欢举出用Vim查找、替换的例子来说明Vim的强大,可见该功能的有多重要。查找、替换的核心内容其实就是正则表达式 (regular expression),它的功能非常强大,但是不容易掌握。幸好我们不用把正则表达式完全学会才能使用它,只要学点简单的皮毛,就受用无穷了。

在Vim自带的帮助文档(:help 03.9)里说道:

The Vim editor uses regular expressions to specify what to search for. Regular expressions are an extremely powerful and compact way to specify a search pattern. Unfortunately, this power comes at a price, because regular expressions are a bit tricky to specify.

目前我只收集了少量技巧,以后在使用Vim的过程中还要不断学习,不断增加。

建议初学者先学习:help 03.8 ,:help 03.9 ,再学习:help usr_27 。

下面说一些实例。

/http://\f* 可以匹配一个普通的网址(不含 ? & 等符号的网址),所以:s%http://\f*%<a href="&">&</a> 可以把http://kikistar.com 替换成<a href="http://kikistar.com">http://kikistar.com</a> 。

如果网址中含有 ? & 等符号,例如http://www.newsmth.net/bbscon.php?bid=731&id=16603 ,把正则表达式稍微修改一下就行了: :s%http://\(?\|&\|\f\)*%<a href="&">&</a>

buffers -- 多文件操作

多文件操作(buffers) -- 精选命令
命令功能
:buffers
:ls
显示buffer列表
:bn转到下一个buffer
:bp转到上一个buffer
:b 3转到编号为 3 的buffer
:b index.html转到名为index.html的buffer
:sav另存为……
:set hidden切换buffer时不给出保存当前buffer的提示
CTRL-G查看当前buffer状态信息,如文件名、总行数、修改后未保存等。

在Vim里可以同时编辑多个文件,每个文件占用一个 buffer。

:buffers 和:ls 的作用是一样的,可以得到一个像下面那样的列表:

:ls
  1      "doc2xhtml.xsl"                line 1
  2 #    "document.css"                 line 1
  3 %a   "vimtips.xml"                  line 32

在各个buffer之间跳转有很多方法,可以用 :b 1 转到编号是 1 的buffer,也可以用 :b document.css 转到名为document.css的buffer。输入这个命令时,buffer名字可以用TAB键自动保全,很方便。此外还有两个我比较爱用的命令:

:bn		转到下一个buffer
:bp		转到上一个buffer

在buffer间跳转时,如果当前buffer内容编辑后未保存,Vim会要求你先保存。如果不保存,必须在命令后加 ! 强行跳转。

有一个命令可以使得在buffer间的跳转更方便,就是

 :set hidden 

这样设置后,在buffer之间跳转就不用先保存,也不用加 ! 了。但是,用了这个设置后使用:q! 时要加倍小心。我的建议是,用了:set hidden就不要用:q!,习惯了用:q!就不要用:set hidden了,数据永远比一时方便更重要。

 

 

参考资料:

补充:http://www.ibm.com/developerworks/cn/aix/library/au-speakingunix_vim/ 【操作更详细】

         http://hi.baidu.com/smilewwh/blog/item/2fd27baf445106fffaed5057.html[参数说明]

数据权限设计 随着IT新技术不断完善成熟,企业数字化建设得到全面的发展,数据将成为一个创造财富的重要来源,并且越来越多地被视为一项值得重视的企业资产。未来,很多企业之间的竞争,其实也是资源和数据竞争。那么针对数据资产,如何保障它的安全性呢?数据的权限管理无疑是必不可少的。数据权限从数据源来控制不同的用户能够查看、使用和授权不同的数据表数据(其实就是数据表行列的管控),就如同筑起了一道道护城墙,为数据安全提供了保障。 阅读详情

相关推荐

基于DE2-115红外解码实验

基于DE2-115红外解码实验   一、   功能描述 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。在实际的产品设计或业余电子制作中,编码芯片并一定能完成我们要求的功能,这时我们就需要了解所使用的编码芯片到底是如何编码的。只有知道编码方式,我...

乘风的博客 2515

vim屏幕滚动学习

*Q_sc*          Scrolling |CTRL-E|        N  CTRL-E       window N lines downwards (default: 1)  窗口向下移动一行(文本是反方向,向下一行) |CTRL-D|        N  CTRL-D       window N lines D ownwards (default: 1/2 window) 窗口向下移动半屏(文本向上) |CTRL-F|        N  CTRL-F       window

缘来是你 7111

麒麟和UOS系统编写桌面点击可执行文件

在桌面上创建一个快捷方式(.desktop 文件)来运行脚本。打开文本编辑器,创建一个新文件,如。这可以通过文本编辑器来完成。首先,确保您的脚本具有执行权限。现在,您应该可以双击桌面上的。保存此文件到桌面目录,例如,在桌面上创建一个快捷方式(文件来运行您的脚本了。使用图形界面或命令行给。现在您可以双击桌面上的。为您脚本的实际路径。是您脚本的实际路径。文件来运行您的脚本了。

u013934107的博客 7249

vim实用指南(一):光标移动(3)——滚动屏幕

一、滚动整屏(翻页) 1、向上滚动整屏(左Ctrl+forward):Ctrl+f 2、向下滚动整屏(左Ctrl+backward):Ctrl+b 二、滚动半屏 1、向下滚动半屏(左Ctrl+Down):Ctrl+d 2、向上滚动半屏(左Ctrl+Up):Ctrl+u 三、滚动一行 1、向上滚动一行(左Ctrl+Extra one lin...

哦,原来你也在这里。 3169

安装Quartus-II 13 和Modelsim

目录一、Quartus-II安装1.Quartus-II 13下载2.Quartus-II 13安装3.Quartus-II 13注册二、Modelsim安装 实验目的:安装Quartus-II 13 和Modelsim 实验环境:Windows10 参考资料:Quartus-II安装及使用 一、Quartus-II安装 1.Quartus-II 13下载 正点原子官方资料下载 百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:

qqq080的博客 8626

如何评估一颗 AI 芯片的真实性能?TOPS、FPS 与 Token/sec 全解析

AI 芯片在实际部署中,其理论峰值性能往往无法反映真实执行效率。如何科学评估一颗 AI 芯片的“真实性能”,已成为芯片选型与系统集成环节中的关键技术问题。本文从工程实战角度出发,深入拆解当前常用性能评估指标(TOPS、FPS、Token/sec)背后的定义逻辑与使用陷阱,并结合推理模型部署与执行路径,系统讲解 AI 芯片在不同场景下的性能验证方法。通过对芯片算力-功耗-调度三维关系的分析,读者将掌握评估一颗 AI 芯片是否“跑得动业务”的核心判断能力。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3389

vim屏幕滚动笔记

屏幕滚动 Ctrl-E:显示窗口向下移动一行,光标如果在最上面,就会往下移动一行,其他情况会保持在那一行。 Ctrl-Y:显示窗口向上移动一行,光标如果在最下面,就会往上移动一行,其他情况会保持在那一行。 Ctrl-D:窗口向下滚动N行,默认滚动窗口行数的一半。光标会在相对的行数位置(比如在窗口下的第二行,翻页后还在第二行) Ctrl-U:窗口向上滚动N行,默认滚动窗口行数的一半。光标会在相对的行数位置(比如在窗口下的第二行,翻页后还在第二行) Ctrl-F:窗口向下滚动N页。翻页内容比较多,光标会移动到

习惯就好zz的专栏 731

TC397 EB MCAL开发从0开始系列 之 [17.1] ETH配置实战 - ping/发送

TC397 MCAL 从0开始之 ETH ping测试

yy九歌的博客 1505

vim滚动屏幕快捷键汇总

使用vim能够方便灵活的操作文本文档,快速翻页的快捷键如下 按行移动 Ctrl + E 屏幕向下滚动一行 Ctrl + Y 屏幕向上滚动一行 按半屏滚动 Ctrl + D 屏幕向下滚动半屏 Ctrl + U 屏幕向上滚动半屏 按全屏滚动 Ctrl + F 屏幕向下滚动一屏 Ctrl + B 屏幕向上滚动一屏 ...

mathematican的博客 1997

Python爬虫实战【房产刚需专属】:爬取链家/贝壳完整房源数据,精准筛选刚需房源【房价+户型+地段+面积+装修】

本次爬虫的核心亮点就是刚需专属筛选,我已经把刚需买房的主流筛选逻辑封装为独立函数,你只需要修改筛选参数,就能精准匹配你的需求无需懂Python语法,直接改数字/文字即可!本次爬虫是刚需买房+Python爬虫实战的完美结合。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1824

Google Earth Engine 红树林制图方法的代码(三个模块)

谷歌地球引擎红树林制图方法(GEM)提供了一种直观、易用且可复制的工具,适用于广泛的非专业沿海管理者和决策者。该工具全面回顾并整合了相关的红树林遥感文献,并利用云计算的力量,包括简化的基于图像的潮汐校准方法。GEM 可免费用于非营利用途,并在 GEE 中运行,包含全面且详细注释的代码。GEM 专门设计用于绘制全球范围内多日期红树林分布并量化其动态变化。目前可用的工具和方法未能充分利用沿海管理者通常持有的丰富地方专业知识——GEM 致力于填补这一空白,帮助结合地方专业知识与 GEE 的云计算能力。

此星光明博客 559

vi 多窗口同步滚动--适用于人工文件比较

vi本身带有文件比较功能,这个就不多说了,有时我们需要同时查看两个非常类似的文件,但是却有少许区别的地方,当然用专业的文件比较工具自然是非常方便的。 这里我只想提一下,vi实现多窗口同步滚动的方法, 先用vi打开两个窗口,分别打开两个文件,这里为了演示,我打开的是同一个文件,如图: 关键命令就是: set scrollbind, 当然这两个窗口都要设置下的,要不然它怎么知道哪几个窗

JoeBlackZQQ的专栏 6711

knowhere | 第一课:项目导论与环境搭建

摘要 本课程是Knowhere项目的第一课,重点介绍项目整体架构和开发环境搭建。Knowhere定位为AI Agent的文档记忆基础设施,通过解析多格式文档并保留结构化信息(如章节层级、表格语义等),为Agent提供可导航的文档知识。项目采用Python monorepo结构,核心包括: apps/api:FastAPI服务,处理HTTP请求和流程调用 apps/worker:Celery服务,执行文档解析等耗时任务 packages/shared-python:共享基础设施层 课程明确了各层职责边界,并推

weixin_43674738的博客 152

vim日常操作

1)vim 文本文档 #进入编辑 保存退出: 末行模式:wq #保存退出 wq! #强制保存退出 q! #不保存退出 命令模式:shift+zz #保存退出 2)命令模式 . #重复上一步操作 Home #移动光标到行首 End #移动光标到行尾 gg #到第一行 G ...

KissPeiQi的博客 194

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vim的日常操作

linux中关于vim编辑器:设置三种模式:命令模式、末行模式、编辑模式 命令模式:控制光标移动,可对文本进行复制、粘贴和查找工作 输入模式:正常的文本录入 末行模式:保存或退出文档,以及设置编辑环境 命令模式转输入模式:a,i,o键 输入模式转命令模式:esc 命令模式转末行模式::键 末行模式转命令模式:esc vim中常用命令 dd 删除(剪切)光标所在整行 5dd 删除(剪切)从光标开始的5行 yy复制光标所在整行 5yy复制从光标处开始的5行 n显示搜索命令定位到的下一个字符串 N显示搜索命令定

wweTHEUT的博客 182

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Vim 日常操作积累

高亮 指令 含义(作用) gd 选中并高亮 :noh 消除高亮 括号间内容的操作 先选中括号之间的内容(包括各种括号和单引号,双引号) 指令 含义(作用) vi+符号 ( 如:(,’,",{,[,) 选中括号之间的内容(包括各种括号和单引号,双引号) yi+符号 ( 如:(,’,",{,[,) 复制括号之间的内容(包括各种括号和单引号,双引号) di+符号 ( 如:(,’,",{,[,) 删除括号之间的内容(包括各种括号和单引号,双引号) 翻页 翻整页

xianxjm的博客 234

Vim 日常操作

Vim 日常操作   显示 # 显示行号 :set nu# 插入:i# 保存并退出:wq      查找 # 最普通的查找:/search # 查找非分号开头的行。[正则表达式](php.ini 很多以分号开头的行,懒得看) :/\n[^;].*   删除 # 删除1到3行 :1,3d ...

DXsunrise的博客 178

vim日常操作备忘录

文件浏览器 在vim 7.0之前,文件浏览功能由explorer.vim插件提供;从vim 7.0之后,这个插件被netrw.vim插件所代替。Netrw插件伴随vim发行,不需要单独安装。 使用 :Explore 命令或缩写 :Ex 命令(注意E大写),将在当前窗口中打开文件浏览器 使用 :Sexplore 命令或缩写 :Sex 命令,将在上边水平拆分窗口中打开文件浏览器 使用 :Vexplore 命令或缩写 :Vex 命令,将在左边垂直拆分窗口中打开文件浏览器,如果放在右边可以用 :Vex! 也可以在

jiangkejkl的博客 704

vim日常常用操作

vim filename 打开或新建文件,光标位于第一行首 :set num 显示行号 set autoindent自动缩进 Enter光标下移一行 b左移一个单词至单词首 w右移一个单词至单词首 e 右移一个单词至单词尾 0 光标移至行首 $ 光标移至行尾 gg移到第一行 i 光标前插入文本 A行尾插入文本 o 当前行下新开一行 O当前行上新开一行 x删除光标后字符 X删除光标前字符 dd删除一行 yy复制一行 ynw复制n个单词 ynl 复制n个字符 p粘贴(dd和x删除的也可以) u 撤销前一次的操.

markey1的博客 148

vim 日常操作备忘

vim 的列操作: ctrl+q 进入列操作, shift + i 对列统一操作;常用于code前添加[tab]

liu1guo2qiang3的专栏 496

vim一些日常操作

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33804582的博客 86

vim的日常操作方法

工欲善其事,必先利其器,nano虽然简单易用,但功能却比较少,vim则可以进行高效的文本编辑,这里我就为大家简单地介绍一下它的用法。(1)vim的基本操作  在系统提示符号输入vim及文件名称后,就进入vi全屏幕编辑画面: vim filename 在进入vim之后,这时用户处于编辑模式下,若要对文本进行修改编辑需要切换到”输入模式”才能够输入文字。(2)编辑模式下按...

weixin_33850015的博客 89

个人日常vim常用操作

文本1235551.如果想在文本每行前添加空格ctrl+v,然后把光标选择上所需要添加空格的所有行---I---空格---esc1235552.如果想把每行的空格删除ctrl+v,然后把光标选择上所需要添加空格的所有行---d3.解决复制粘贴后vim格式错乱问题,setpaste4.u回退到上次修改的前的内容5.分屏显示多个文件内容vim -On test1 t...

weixin_34381666的博客 87

从实践出发0基础入门vim,覆盖日常常用操作

实践0基础入门vim

JILAU_WHO_AM_I_Q234的博客 481

【Linux】vim 日常操作命令

Insert开始编辑 Shift +D清空行 u:撤销上一步的操作 ctrl+r:将原来的撤销重做一遍 U:恢复一整行原来的面貌(文本打开时的状态) :wq 保存退出 :q 退出 :e! 放弃修改,重新回到文件打开时的状态 ...

我是Superman丶的博客 191

vim运维日常必备操作技巧(常用的全有)

一、说明 掌握vim的操作技巧能让运维的工作事半功倍,本文将罗列出运维日常使用到的操作技巧,不太常用的操作,本文没有收集,有高要求有兴趣的可以百度查阅vim专题 二、常用技巧 1)普通模式:移动光标的操作 指令 作用 G或者(Shift+g) 光标瞬移到文件的最后一行 gg 光标瞬移到文件的第一行,命令等同于“1G” 0(数字0)或者^ 光标瞬移到当前行的行首 $...

weixin_34150224的博客 136

vim 常用设置

Best of Vim Tips: http://www.rayninfo.co.uk/vimtips.html程序员的编辑器 - VIM: http://419labs.googlepages.com/vimsmth.html 万年编辑器: http://www.aka.org.cn/Lectures/001/Lecture-1/vi.html

东风 858
上一篇: VirtualBox实现桥接模式[转载]
下一篇: 在liunx下用subversion
Techie
博客等级 码龄24年 0粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值