前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vim的基本使用方法

Vim的基本使用方法

作者头像
ExASIC
发布2024-02-23 17:17:15
1410
发布2024-02-23 17:17:15
举报
文章被收录于专栏:ExASICExASIC

Vim是做数字IC设计、验证最流行的编辑器,没有之一。下面介绍一下基本使用方法。

〇、准备工作,确认是否安装

vim分两种,一种是命令行的,就叫vim,绝大部分linux默认已经安装。还有一种是带图形界面的vim,也叫gvim。可以通过which来确认:

代码语言:javascript
复制
which vim
which gvim

如果gvim没有安装,可以用yum install来安装,或者请公司IT帮忙安装:

代码语言:javascript
复制
yum install gvim
# 或
yum install vim-X11

一、打开和关闭文件

1.1 打开单个文件

代码语言:javascript
复制
# 打开
gvim xxx.v

1.2 一次打开多个文件

代码语言:javascript
复制
# 打开多个文件
gvim 1.v 2.v 3.v

1.3 打开多个文件后,可以通过命令切换buffer(文件)

代码语言:javascript
复制
:bp # 前一个文件
:bn # 后一个文件

1.4 再打开一文件

代码语言:javascript
复制
:edit 4.v  # `set hidden` 

1.5 水平或者垂直分割当前窗口

代码语言:javascript
复制
:split      #水平分割,当前文件同时在两边显示,方便对照修改
:vsplit     #垂直分割
:split 5.v  #新打开文件5.v,显示在split区域里
:vsplit 6.v

注1:在split的多个窗口中切换光标

  • 点鼠标
  • 按快捷键
代码语言:javascript
复制
ctrl+w h:向左
ctrl+w j:向下
ctrl+w k:向上
ctrl+w l:向右
ctrl+w w:在所有窗口中循环

注2:最大化当前split窗口

代码语言:javascript
复制
ctrl+w _ :水平方向最大化
ctrl+w | :垂直方向最大化
ctrl+w = :将所有窗口平均调成一样大小

注3:关闭当前split的窗口

代码语言:javascript
复制
ctrl+w c :关闭当前split窗口

1.6 在新tab中再打开一个文件

代码语言:javascript
复制
:tabnew 5.v

注1:在多个tab中来回切换:ctrl+pageup/pagedown

1.7 利用浏览目录Explore来打开文件夹,在文件夹里再选择打开哪一个文件

代码语言:javascript
复制
:Explore    # 在上下split的窗口中显示文件夹
:Vexplore   # 在左右split的窗口中显示文件夹

当不记得文件名时,可以通过这个方法。

1.8 关闭文件的方法

代码语言:javascript
复制
:q  # 没有修改时,直接退出
:wq # 先保存再退出
:q! # 不保存,直接退出
:w  # 保存,不退出

二、常用编辑命令

2.1 输入文字或代码

与其他大部分编辑器不同的是,vim中编辑文字或者代码需要先进入插入模式。编辑完按ESC键退出。

代码语言:javascript
复制
# 先按一下i,进行插入模式
i 
# 输入需要的文件或代码
...
# 编辑完成后,按ESC键退出编辑模式
esc

2.2 选中、复制、剪切、粘贴

这些操作是数字IC工程师急需的功能,这里介绍一种更容易入门的操作方法:

代码语言:javascript
复制
# v+上下左右箭头,比如:
v '->'

再按y、d、p进行复制、剪切、粘贴。(不再是ctrl-c、ctrl-x、ctrl-v了)

2.3 打错字了,撤销怎么操作呢?

代码语言:javascript
复制
ESC
u # 按一次u,撤销最近一次操作

三、查找替换

3.1 可以点菜单Edit -> Find... / Find and Replace...

3.2 也可以通过命令

输入/xxx再按回车,会高亮找到的关键字。

代码语言:javascript
复制
/xxx<Enter>
n # 跳转到下一处
N # 跳转到上一处

输入:s/A/B再按回车来替换,

代码语言:javascript
复制
# 把input替换成inout
:s/input/inout<Enter>
# 加一个%进行全部替换
:%s/input/inout<Enter>
# 再一个c进行替换确认
:%s/input/inout/c<Enter>

四、保存、另存为

4.1 保存

代码语言:javascript
复制
:w

4.2 另存为

代码语言:javascript
复制
# 就是保存的时候指定一个新文件名
:w 5.v

当然,用菜单File -> Save/Save as...也是一种选择。

五、列编辑

5.1 多列一起编辑

  • ctrl-q # 进入列编辑模式
  • 按上下左右的箭头 # 选中一列或多列
  • 大写字母I或者A # 插入在选中列之前还是之后
  • 输入要插入的内容 # 输入文字
  • ESC # 选中的列都会插入相同的内容

5.2 多列的复制与黏贴

  • ctrl-v
  • 按上下左右箭头,选中需要的列
  • 按y复制
  • 移动光标到需要黏贴的位置,按p(光标后)或P(光标前)进行黏贴

六、几个常用的配置

tab与空格

代码语言:javascript
复制
set tabstop=8
set softtabstop=8
set expandtab

临时显示空白字符

代码语言:javascript
复制
set list
set listchars=tab:>-,eol:$

七、插件的安装和管理

太复杂,初学者不需要。用好百分十的命令就够了,后面慢慢再学。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ExASIC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档