vim 使用

在 Vim 中使用 graphviz.vim 画图 本文主要介绍 graphviz.vim, fork 自 wmgraphviz.vim,但是除了复用补全数据,我几乎重写了所有内容,并做了很多改进。 可能很多人没用过 graphviz,它是一个开源的图可视化工具,使用 DOT 语言进行绘制,优点是可以自动布局,尤其适用于复杂的流程图,结构图等等。官方有很多示例,使用时也可以参考一些其他的优秀案例,比如: 本文并不会对 graphviz 本身做太多... 阅读详情

1.1 vim的几种模式

插入:按i,a, o等进入,用于添加文本

替换:按R进入,当前文本会被替换为键入的文本

命令模式:按’:’进入,可执行vim命令或shell命令(!command)

可视(visual)模式: 按V进入。可视模式下可方便选取所需的块,进行复制操作

记录模式:q:,唤出历史命令窗口

查找模式:./ .?  进行文本查找

模式切换:

按Esc退出相应的模式,再键入相关命令进入其他模式。

在insert模式下使用normal模式:ctrl+O后进行,一次有效

 

1.2  常用操作

1)  移动:

行首^或0(0是移到行开始处,^是移到行首第一个字符开始处) 行尾$ 

第一行最开始处 gg

结尾处 G  或者G  N(N为大于文件的总函数的整数)

第N行: N gg 或 N G

按单词移动:ge (移动到前一个单词的尾部) w(向后)    b(向前) 

匹配移动:fx 第一个匹配’x’的单词

跳到文档50%处:50%

行间跳转: H(行首)  M(行中)   L(行尾)

定标跳转: ma(a~z) 放置一个a标志   ‘a 跳转到该标记处,可使用marks查看

‘0:回到你上次退出vim的位置,’1 回到上次退出vim位置的前一个位置,以此类推

在括号中跳转: % 可以在{} [] () 中跳转,可以设置选项加入其它跳转符号,如<>,命令为set matchpairs=…,<:>

获知光标所在的字符是整个文件的第几个字节:g CTRL+G

 

2)      插入

a:当前位置后插入

i:当前位置插入

o:新起一行插入

 

插入连体字,如梅花等:

CTRL+k 会出现?

在其后输入相关字符即可,如cC(Co),会显示一个©㏇

使用digraphs可以查看有哪些可用的digraph

 

添加命令的输出:!!(command),如 !!date  #添加时间戳

 

3)      复制、删除及粘贴

复制/粘贴:p

删除: dd(删除当前行)、3d 删除当前行往下3行(相当于执行三次dd)、x(删除光标所在字符)、nx(相当于执行n次x)、daw(删除光标所在单词)、cw(删除光标所在单词并置于插入模式)、das(删除一个句子)

复制:yy(复制所在行)、yaw(复制所在单词)、yas(yank a sentence)

剪切:相当于执行完d操作后再执行y操作(d操作后内容会被放到剪切板)

块操作: ctrl + V进入visual模式

重复执行上次操作:ctrl+A(agin)

逐个字符复制上一行内容:ctrl+Y (相当于Photoshop中的图章工具

 

4)      查找与替换

普通查找:./ .?  分别为向后和向前查找,区分大小写

不区分大小写查找:set ignorecase   或者./\cword (当前查找有效)

文本替换:[range]substitute/oldword/newword/g,c (g表示全局,c表示替换前确认)

[range]相关的字符:. 表示当前行,$表示最后一行,%表示所有行,例子如下:

: .+3,$-5 (表示当前行往下3行到导数第五行)

?^Chapter?+3, /^Chapter/-5   (正则表达式,表示以Chapter开头的行,?表示向前查找,/向后查找)

 

global替换:[range]global/{pattern}/{command}, 对满足模式的内容进行操作

对选中的文本进行替换操作:%s/oldword/newword/g

 

语法高亮:set hlsearch(hls)

 

5)      撤销与恢复

撤销::u

恢复:ctrl+R   #与撤销操作对应

 

1)      vim缩写与命令自动补全:

自动补全:

         输入单词后按ctrl+N或ctrl+P,会出现一个匹配列表供选择

ctrl+N为向后(Next)查找匹配,ctrl+P为向前(Previous)查找匹配

使用缩写和错误更正:

         缩写:iabbrev adadvertisement  #输入ad<Space>将会把ad替换为advertisement, <Space>为空格

         更正打字错误(也是缩写的一种情况):abbreviate tehthe  #使用方法同缩写

怎么禁止缩写和更正选项?

:unabbrevicate 缩写名

:abclear  #删除所有缩写

 

2)      多窗口:

sp filename|directory  # split filename  当打开文件夹后,把广播移动到文件名上,按gfctrl+o可以打开文件

vsplit filename  #vertical split (垂直拆分窗口)

 

3)      宏录制

相当于命令脚本,按q(a~z) 开始录制,再次按下q就结束宏录制,宏功能在解决重复问题时很好用。

使用方式: @a  (使用宏a)

 

4)      批处理;

1 先把命令保存

%s/oldword/newword/g

write tempfile #如保存到change.vim中

quit

2 执行脚本

for file in *txt; do

vim –e –s $file < change.vim

lpr –r tempfile

done

 

5)      dos与unix文件格式

设置支持的文件格式:set fileformats=unix,dos

设置当前文件格式:set fileformat = [dos][unix][mac]  #这三种文档的回车换行符不一样,区分<CR><LF>等字符,如dos文档在unix格式下回车换行会显示’^M’

p.s : 将dos格式文件转换为unix格式可使用dos2unixfilename

 

6)      换行与制表位

设置自动换行:set wrap   设置不自动换行:setnowrap

显示行号:set nu   关闭行号:set nonu

设置tab键为4个空格:

:set shiftwidth=4

:set softtabstop=4 

:set tabstop=4

恢复原来的默认值:retab 8

 

设置制表位扩展为空格:expandtab

设置自动缩进:set autoindent

 

以上这几个命令可以导入~/.vimrc文件中,打开vim时自动加载,很方便 

7)      帮助

查看帮助:help ‘whichwarp’ (whichwrap为主题)

help + 选项,选项可用options查看

 

8)      大小写转换:

单词操作:gUw(小写转大写)  guw(大写转小写)  g~~ 反向(大写转小写,小写则转大写)

gUgU 改整行 gUU

 

9)      排序:

1 跳转到指定行  a

2 !nG 跳转到第n行

会出现提示:.,.+n sort<enter> 下划线部分为输入字符

 

10)  保存:

w 保存当前文件

wall 保存所有被改动的文件

 

保存选项:

:session options  查看session选项

:mksession vimbook.vim   保存会话选项

:source vimbook.vim 或启动vim时,vim –s vimbook.vim  #导入保存的会话选项

 

保存信息(标记,寄存器和命令历史记录等):wviminfo! ~/.viminfo

恢复保存的信息:rviminfo! ~/.viminfo

 

保存视图:mkview    #可以指定文件名

载入上次保存的视图:loadview

 

恢复默认值:blank buffer

定制sessionoptions选项:set sessionoptions+=resize  #窗口大小

curdir folds help (帮助窗口)

 

11)  文件加密:

vim –x filename  #打开的时候即加密

:x   #命令模式下加密

取消加密:set key=    #设置key为空的话就不加密

vim –x –n file.txt  #不使用加密文件

 

12)  其他:

代码常用操作:

多行注释:用s#^#//#g 操作

查看某个函数的原型:光标位于函数或者文件名上,按[I

文本对齐:[range]center/right/left[width] #width为文本行宽

使用tags:

ctags –R . #为当前目录下的文件生成tags

导入tags:set tags=~/.tags

跳转:ctrl + ] 跳转到定义处, ctrl + o 跳转到原地

选择tag:tselect tagname

在各tags间跳转:tnext, tfirst, tlast, [count]tprevious, [count]tnext  #count为跳转的次数


13) vim 快捷键映射

作为编辑器之神,vim最吸引人的地方莫过于其可以定制自己喜欢的plugin,打造专属的高效编辑器,这个可以通过配置vimrc 及使用各种各样的plugin来实现。关于这这方面的文章,个人推荐:

http://easwy.com/blog/archives/advanced-vim-skills-catalog/ 

http://amix.dk/vim/vimrc.html

https://github.com/yangyangwithgnu/use_vim_as_ide
 


文件行数,单词统计: [range]write !wc,其中range为范围,如[1,5]

欢迎转载,转载请注明出处:http://blog.youkuaiyun.com/codingcs

【Vim】使用Vundle管理配置Vim基本插件 Vundle项目托管在github上https://github.com/gmarik/vundle。 其特色在于使用git来管理插件,更新方便,支持搜索,一键更新,从此只需要一个vimrc走天下。在vimrc文件中添加如下内容来启用vundle管理vim插件的功能:set rtp+=$VIM/vimfiles/bundle/vundle/ call vundle#rc('$VIM/vimfi 阅读详情

相关推荐

ANSYS Workbench对称分析进阶:手把手教你用Pre-Meshed Cyclic Region处理外部导入的复杂网格模型

本文详细介绍了ANSYS Workbench中Pre-Meshed Cyclic Region功能在处理外部导入复杂网格模型时的应用。通过循环对称分析技术,可显著减少计算资源消耗,特别适用于叶轮机械、齿轮组等周期性结构分析。文章深入解析了该功能的底层逻辑,并提供了从NASTRAN文件导入的离心压缩机叶轮案例,帮助工程师克服网格匹配难题。

weixin_28630185的博客 313

vim常用指令

1.跳转到上次操作光标位置:ctrl+o 2.列操作:ctrl+v 3.粘贴复制:y+p 4.行选中:shift+v 5.高亮:g+d

qq_37960317的博客 761

Unity抖音小游戏上架实战:从零到一,详解流程与避坑指南

本文详细介绍了Unity抖音小游戏上架的全流程,包括环境准备、SDK集成、开发者账号注册、软著申请、打包提交流程及常见问题解决方案。重点解析了抖音小游戏平台特有的配置细节和避坑技巧,帮助开发者高效完成游戏上架并优化用户体验。

weixin_33704234的博客 261

vim常见快捷键及命令

vim常见快捷键及命令

TruthOnlyone的博客 846

智能车竞赛独轮组信标灯系统全解析:从硬件选型到实战调试

本文全面解析了智能车竞赛独轮组信标灯系统的核心原理与实战应用。从硬件架构(灯板、灯罩、控制器)的深度剖析,到红外信号(特别是40kHz调制信号)的接收与解码策略,再到车模的灭灯机构设计与路径规划,提供了从硬件选型到软件调试的全链路指南。文章重点分享了实战调试技巧与常见问题排查方法,旨在帮助参赛队伍深入理解系统,提升车模的识别精度与比赛表现。

e4f5g6h的博客 1124

MEME-CHIP实战:5步搞定ChIP-seq数据中的motif发现与可视化

本文提供了使用MEME-CHIP工具进行ChIP-seq数据motif发现与可视化的完整实战指南。通过5个清晰步骤,从数据准备、环境搭建、命令行执行到结果解读与高级可视化,详细讲解了如何利用MEME-CHIP工作流高效完成从原始peak序列到发表级motif图的分析,并分享了关键的参数调优与避坑经验。

alice7model的博客 508

vim常用快捷键

vim 快捷键

LK-T.O.P的博客 1099

AD7768与STM32F439的硬件设计避坑指南:如何优化高精度ADC系统的电源与PCB布局

本文详细解析了AD7768与STM32F439在高精度ADC系统硬件设计中的关键问题与优化方案。从电源系统设计、PCB布局到基准电压选型,提供了实用的避坑指南和实测数据,帮助工程师提升系统性能至110dB动态范围。特别强调了SPI信号布线和电源滤波对ADC精度的重要影响。

sugar的博客 735

vim 常用指令

插入模式下: Ctrl + o 返回normal模式,执行一次命令后回到插入模式.(超级好用) Ctrl + p 在补全列表中方向选择 Ctrl + n 在补全列表中正向选择 Ctrl + h 删除前一个字符,相当于回格键backspace Ctrl + w 向左删除一个单词. Ctrl + u 删除至行首 Ctrl + t 增加缩进 Ctrl + d 减少缩进 Normal模式下: 整体缩进: 可视选择好对应的的行,输入<向左缩进, >向右缩进, 当然可以在符号添加缩次数. 也可以直接使用

calois 357

SerDes学习笔记:接收机CTLE均衡架构示例(USB3.1、PCIe3.0\4.0\5.0)

本文分析了USB3.1和PCIe标准中连续时间线性均衡器(CTLE)的设计演进。USB3.1Gen1采用一阶CTLE,其传递函数在长信道下具有有源滤波器特性;Gen2版本延续类似架构,通过Adc参数调节零点频率。PCIeGen3/4保持一阶结构但调整极点位置,Gen5升级为二阶传递函数,扩展Adc调节范围至-5dB~-15dB。研究表明,CTLE能有效改善信号完整性,通过参数优化可平衡信号衰减与码间干扰抑制。

一只豌豆象的博客 626

第10章: MMU notifier与HMM的协作

本文摘要: HMM(Heterogeneous Memory Management)是Linux内核提供的异构内存管理框架,用于统一CPU与设备(如GPU、DSP等)的内存访问。它通过镜像页表技术实现虚拟地址空间共享,自动同步CPU和设备页表变化,支持透明的内存迁移和设备内存管理。HMM构建在mmu_interval_notifier机制上,利用序列号检测页表修改冲突,提供高效并发控制。核心数据结构包括hmm_range和HMM PFN标志位,通过hmm_range_fault()实现页表遍历和缺页处理。

图形/计算GPU的驱动与虚拟化技术分享园地 3097

【Linux系统】—— vim 的使用

vim 的使用介绍

yusjushd的博客 2791

注意力机制篇 | YOLOv8改进之在C2f模块添加EMA注意力机制(附2种改进方法)

EMA(Exponential Moving Average)注意力机制是一种用于增强模型性能的注意力机制,它通过对模型的特征图进行加权平均来提取更有用的特征信息。具体来说,EMA注意力机制通过引入一个权重因子来调整特征图中每个位置的重要性,从而使模型能够更好地关注重要的特征。🌈

小哥谈 4180

Ubuntu下vim的安装、使用、配置

Ubuntu下vim的安装、使用、配置 虚拟机: Oracle VM VirtualBox 6.1.16 操作系统: Ubuntu 16.04.6 LTS 1. vim的安装 Ubuntu自带的vi使用具有局现性,比如在插入模式下方向键不能用,而是会输出ABCD的文字。因此需要安装vim。 终端中输入 sudo apt-get install vim 然后输入Y就行了,…,完成之后,vim就已经安装完成了 2. vim的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Comma

weixin_42608648的博客 3116

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VIM使用总结

vim的使用总结 接触vim编辑器已近一年的时间,但老是半蹴不蹴;最近老是在终端转悠,就将vim的简单使用做一个总结。毕竟,自己不能再忘了这些按键特点。 vim是一款相当优秀的终端环境下的程序编辑器。首先,要说的是vim的三种模式:一般模式、编辑模式和指令模式。 一般模式:可以移动光标,删除、选择、复制和粘贴等操作。 编辑模式:输入”i、o、a、r“即进入编辑模式。其中

u013203537的专栏 482

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Vim】vim的简单使用方法

由于有缓存的存在,vim会主动判断当前文件是否有问题,如果有问题则会提示用户。的文件,如果因一些原因导致编辑的内容未保存,则这个文件就可发挥恢复功能。在使用vim编辑时,vim会在被编辑文件所在目录下,建立一个名为。可以使用vim后接多个文件名,同时打开多个文件。可视区块,就是以区块为单位进行操作。在vim命令行环境下,使用。

张壮壮的博客 1270

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

在VSCode中使用Vim

在VSCode中使用Vim,主要涉及到Vim插件的安装和配置。

jingling122的博客 5427

yum和vim的使用

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装. 软件包和软件包管理器,

未知陨落的博客 3210

Vim编辑器使用指南

Vim 是一个功能强大且高度可定制的编辑器,初学者可能会感到它的操作不太直观,但通过一段时间的使用后,它可以极大提升工作效率。希望这篇文章能帮助你快速上手 Vim。

上进!努力!!! 2096

Linux 中 vim的使用

1、命令模式:用户输入vim时当做指令处理,一般通过vim打开文件进入的时候,就处于这个模式。:对命令行中的命令进行补全,这里要注意,如果前缀在同级中有多个文件或者文件夹,会失效。2、输入模式:(编辑模式)用户输入vim时字符要写入到文件中。:对终端当前屏幕进行清空,其实就是翻了一页,保留之前的记录。:强制退出正在运行的进程,一般用于可执行程序的强制退出。3、末行模式:文件保存和退出vim。:对锁定的Linux终端解锁。:对Linux终端进行锁定。:对终端显示文本进行放大。:对终端显示文本进行缩小。

Litao_woaidetin的博客 5238

vim使用方法

################################ # vim趣味回顾 # # 作者:oneby_one # # 时间:2019.04.23#15:00 # #############################...

java_hellochen的博客 263

VIM的使用

Vim是Linux系统中一个使用非常普遍,而且功能强大的文本编辑。

m0_70026170的博客 1344

vim编辑器的使用

Vim 全称为 Vi IMproved(增强版的 Vi),它是从早期的 Vi 编辑器发展而来。Vi 诞生于 20 世纪 70 年代末,是 Unix 系统上的标准文本编辑器。Vim 由 Bram Moolenaar 在 1991 年发布首个版本,不断改进和扩展,兼容 Vi 并增添众多新特性。

2201_75804946的博客 2221

Ubuntu中安装和使用vim

平台:Ubuntu14.04(在虚拟机Virtualbox中) vim是一个高级文本编辑器,vim是从vi发展而来。 1.安装 在命令行敲入“vi”后按”tab”键,可以看到目前系统中只安装了vi和vim.tiny,vim.tiny是vim的精简版。接下来安装vim。 终端输入: sudo apt-get install vim-gtk 再次在命令行敲入“vi”后按”tab”键,得到: 2.使用 您可以在终端中输入“vim”来启动控制台模式下的vim,或输入“gvim” 来启动图形模式下的v.

kobeforever0823的博客 2万+
上一篇: 仿函数functor和function adapters
下一篇: sed命令解析
LinuxG_G
博客等级 码龄15年 58粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值