Vim enhance part1

NO1 .认识.命令

例 删除man.config中第1到30行的注释

1.光标移到#上,按下x删除

2.按下j将光标移到第二行#上,之后按下.

3.可以看到第2行的#也被删除了因为.就是重复上次命令,而我们上次执行的是删除

4.所以删除1-30的# 我们可以 j.j.j.j.j…  直到删除第30行的#为止.

当然了 也可以为1-30行 添加注释

结合.命令很强大不是吗?

NO2. 查找并手动替换

既然是手动替换那么就需要确认了  经过了vim command handbook的训练 你自然会想到 :%s /old/new/gc

但是既然是upgrade 我将会介绍另一种做法

例: 将文本中的man改为MAN  第7.8行除外

1.光标移动到man上,并按下* 所有的man都会被高亮  //具体的*命令推荐使用:help *  进行查询 类似于unix like上的Manpage

2.n移动到下一个 N移动到上一个  不过本例中用不到只是提一下

3.cw MAN<ESC>  当再次按下.时就会执行执行 cw MAN<ESC>//千万别这时候按 只是举例说明.命令

4.n.n.n.………… 到第7.8行 不需要修改所以不用按. 直到全文修改完毕

这么做其实并不比:%s /old/new/gc 高效和准确而是提供一个思路

如果你善于总结和思考的话会发现O = ko

(我个人使用的是ko因为按键速度更快)

同时, 任何命令结合.命令都将成为强大的工具 而最强大的功能在于这些组合完全是个人的潜力.和乐高积木一个道理(我小时候只玩过山寨版的,不过至少也是积木)

也有人把第4步的 n.n.n…   一个键移动光标,一个键修改 称为.范式(我忘了是哪本书了…)

NO3. 构造可重复性的修改

例  this is a test  光标在is的i上 将句子删除只剩this

最简单的办法当然是一直按x 不过这里要推荐的是d3w或d$

如果修改后还需要做出重复性的动作d3w或是d$和.命令结合或是p命令结合就会方便许多.

而且d3w和d$的按键次数也比x的要少

NO4. 最大程度使用.命令而避免使用次数

4dd  d4d 与 dd... (不是省略号而是3个点)

4dd 执行4次删除一行

d4d 删除4行

根据实际使用 这两种一样的 按下u 会一次性恢复4行.

而推荐使用dd...是因为在实际使用中 经常性会多删除一行或少删除一行

这时候多删除一行只要多按一下u  少删除一行只要多按一下.

是不是比要按下u 再重新dnd 要快呢? (n代表你要删的行数)

更重要的在高度集中的编码状态 从657行删除到662行 还是要经过计算的(思路有可能就此被打断)

这显然这与我们把vim训练成肌肉记忆的本能和vim的使用哲学不符. dd.... 显然更高效

NO5.拒绝使用ESC和忘掉大小写转换键

这里指的大小写转换键并不仅仅是capslock.而是切换大小写的按键

很不幸的是由于windows和X86 PC机的诞生. 键盘的阵列也经过变化了.目前我们大部分所用的是巨硬(Microsoft)的US 阵列键盘.而针对unix like系统的键盘也有 例如HHKB和mac键盘 而我个人推荐自己改造GH60 HHKB阵列 ,不过这是另一个话题了.

在Bill Joy最初设计vi的时候 使用的键盘如下图

可以很明显的看到如今的capslock是当年的control而esc在tab的位置

当年使用vi按esc退出当然是非常容易了,而如今esc的距离里键盘很远.而且对于笔记本来说还容易按到F1.实在是非常不方便.当然了 这时候会有”资深”vim专家推荐交换capslock和ESC 不可否认这么切换确实非常快. 但是这么做仍然不是最有效率的做法.同意我怀疑提出这么做的人是否会使用下面我要介绍技巧插入模式的删除,和寄存器(我都怀疑他是否知道寄存器的存在) 而且使用频率极高的ctrl + f 翻页功能不会不用把?(别说你不知道)

我个人目前的做法: 即供参考 这只是一种思路

windows中使用Gvim

capslock交换 右control作为额外的control    右alt改成capslock(在windows系统中也可以容易实现而且不会影响windows的快捷键,因为windows中的快捷键习惯已经将大部分中国人绑架所以作为额外的control比较合适 而右alt基本很少人使用 我个人基本没用过...) 第一篇的文章中我提供有改键软件的下载

Linux

capslock交换control (linux系统的快捷键可以重新学 不会被windows左下角的ctrl而绑架)

这时候肯定会问,咦,怎么退回到普通模式?

Ctrl + [

详细了解请输入:h i_CTRL-[

相比ESC来说,缺点是多了一个按键并不是什么太大的麻烦,只是适应较难.几天就能改正.

但同时也有优点 首先你换来了高效的CTRL+ 快捷键 非常实用. 你避免了ESC依赖症而导致的无法使用他人的Vim (不是按键的问题而是操作习惯被绑架)最重要的 别人也可以在你的机器上工作(键位可以在改回去).如果他是使用ESC的话.

有人会问了 要使用大写怎么办?

而且在实际的编辑工作中很少需要用到大写 如果是一行需要大写  对于我这种vim小白会选择使用gUU 将当前行转换为大写

如果是一个单词呢?

方法1 编辑模式下 <enter> 另起一行 输入单词  退出到普通模式 0光标移动到行首 gUU 大写J将两个合并 当然了这种方式过于极端

方法2 退回到普通模式下按v进入到可视模式 选择单词  输入gU 切换成大写

方法3 刚才推荐的右alt (你这不废话么)

题外话. 如果不喜欢改软件和注册表(需要重启系统)的方法来改键.目前机械键盘应该都带交换capslock和CTRL的功能 (不过这么做windows的下最常用的CTRL+C Ctrl+V 就要重新适应了)

插播一条广告:

推荐2款我正在使用的键盘 可以交换按键不需要刷固件的 ikbc poker2 60%键位 价格大概499    Vim高烧者 强烈推荐

RK 静电容全域45g 价格好像是560时间太久了记不太清了 87键适合喜欢有F功能区和上下左右键的朋友

NO6. 插入模式中的删除   (shell中Bash通用,其他shell没试过 这时候是否觉得投资Vim和linux的学习非常划算呢?因为UNIX世界这些基础的东西基本不会变,贬值的要比巨硬的慢)

Ctrl + h 删除光标前一个字符 = backspace   (特别常用,店长推荐)

ctrl + w 删除一个单词

Ctrl + u 删除到行首

NO7. 插入模式中执行一条普通模式命令(店长推荐,尤其是编码过程中)

Ctrl + o

zz (小写)重新绘制屏幕并将光标所在行,显示在屏幕中央(光标位置不变)

z. 重新绘制屏幕并将光标所在行,显示在屏幕中央(光标跳到行首)

处于插入模式而且光标位于屏幕最后一行 想滚屏却又不想离开插入模式

Ctrl + O zz

就是这么任性,高效 普通的编辑器要狂敲回车然后光标再移回来

善用vim的manpage 你会发现更多 :h zb

NO8. 高级可视模式

当以可视模式进行选择时,经常会多选和少选一些内容怎么办? 退出可视模式,重新选?

不需要. 你只需要  按下 o  激活高亮区域的端点 //高亮区域的范围其实是由2个端点界定.

可是模式中 v以光标选择 大写V以行选择 这时候问题来了 如果我想切换呢?

Ctrl + v

显示上次选择的高亮区域 gv (如果上次选择被删除的话显示就会不正常)

这次就先介绍这么多,主要是写文章太麻烦了 (买不起虚拟主机和域名 100块在我这是稀有物种)

今天是光棍节,扫一下支付宝二维码,赞助一下博主买虚拟主机 1块钱不嫌少,1w块也不嫌多.让世界充满爱.

时间: 2024-10-13 11:18:45

Vim enhance part1的相关文章

8.9_Linux文本处理三剑客之sed和文本编辑利器vim的使用

本文处理三剑客之sed的使用   什么是sed? Stream EDitor(简称sed), 行编辑器,一次只读一行,只处理一行,不对源文件做处理,至输出到屏幕上. sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.sed主要用来自动编辑一个或多

vim的详细使用

vim编辑器::     全屏幕的编辑器:vim:vi improved(vi增强版)         vi:visual interface     vim:只是文本全屏幕编辑器         模式化:             编辑模式:也叫命令模式对文本进行复制,删除等操作             输入模式:也就是向文本中输入内容             末行模式:         编辑模式-->输入模式:             i:insert 在当前光标所在位置插入         

vim配置文件(无插件版本)

" -------------------- Copyright Header Begin --------------------------------- " Descripation : Facilitates vim settings " Version : 2.0 " Author : RollStone,[email protected] " Copyright : RollStone (2007-2014). " ---------

快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去

vi/vim编辑器的使用总结

vi/vim 编辑器 打开文件: #vi [option][file..] +#:打开文件后,直接让光标处于第#行的行首: #/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首: (1)模式转换: 编辑模式:默认模式 编辑模式 --->输出模式: i:insert,在光标所在处输入 a:append,在光标所在处后发输入 o:在光标所在处的下方打开一个新行 I:在光标所在的行首输入 A:在光标所在的行尾输入 O:在光标所在的处的上方打开一个新行 输入模式---->

Vim 注释多行

作为一个非专业运维人员,惨为遗忘的操作而悔恨,遂转载之! from :http://www.21andy.com/blog/20100413/1859.html Vim 注释多行简化说明 以下一次注释3行操作如下 esc 0 跳到行首 ctrl+v 可视块模式 jjj 下移3行 I 进入插入模式 // esc 嫌麻烦可以自己定义快捷键 # vim ~/.vimrc 输入如下内容,保存 “F5 for comment vmap <F5> :s=^\(//\)*=//=g<cr>:no

vim find bash 文件系统

一 vim vi visual interface 全屏文本编辑器 行文本编辑器sed 全屏:vi/vim  nano vim = vi improved  模式:  编辑模式,命令模式  输入模式  末行模式 编辑模式-->输入模式  i   insert,原地插入  a append,之后插入  o 新起一行插入  I 行首插入  A 行尾插入  O 当前行上方插入新行 输入模式-->编辑模式  按ESC键 编辑模式-->末行模式  按  :wq 保存退出 末行模式-->编辑模

vim常用操作和使用技巧

vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 xxx 表示在命令模式下输入 xxx 并回车 以下的例子中 :xxx 表示在扩展模式下输入 xxx 并回车 ()中的命令表示相关命令.[]表示命令等同 在编辑模式或可视模式下输入的命令会另外注明. 移动光标 在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很方便的进行光标定 位和

Use Vim as a Python IDE

Use Vim as a Python IDE I love vim and often use it to write Python code. Here are some useful plugins and tools for building a delightful vim python environment, escpecially for Vim8: 我喜欢vim,经常用它来编写Python代码.以下是一些有用的插件和工具,用于构建令人愉快的vim-python环境,尤其是vim