Linux vim程序编辑器

vim是进阶版vi,支持不同颜色显示文字内容

为什么使用vim?

  • 所有Unix Like系统一般内置vi编辑器
  • 个别软件接口会主动调用vi
  • vim具有程序编程能力,主动识别字体颜色辨别语法
  • 程序简单,速度快

vi共分三种模式,分别为一般指令模式(默认模式,一般模式)、 编辑模式 和 命令行命令模式

一般指令模式(command mode)
可以使用上下左右移动光标,使用删除字符 或删除整列来处理内容,也可以使用 复制 贴上来处理内容

编辑模式(insert mode)
指令模式可以删除复制粘贴等动作, 但是无法编辑内容, 要按下 i, l, o, O, a, A, r, R等任一字幕进入编辑模式
左下方会出现"INSERT" 或 “REPLACE” 字样,如果要回到一般指令模式, 按下"Esc" 按键

命令行编辑模式(command-line mode)
在一般模式, 输入"😕?"任何一个按钮,就可以移动到最下面一列,在这个模式可以 搜索,读取,存盘,替换,大量替换,离开vi,显示行号等操作

编辑模式与命令行界面之间并不能切换的

简单案例:
vi test.txt
按i进入编辑模式
编辑文字
按[ESC]回到一般指令模式
进入命令行界面, 输入[ :wq ]文件存储并离开环境

一般模式可用按钮说明,包括移动,复制粘贴,搜索替换等

h 或方向键左 左移
j 或方向键下 下移
k 或方向键上 上移
l 或方向键右 右移
如果要移动多列,可以输入30j 或30↓, 向下移动30列

Ctrl + f 下翻一页
Ctrl + b 上翻一页
Ctrl + d 下翻半页
Ctrl + u 上翻半页

+ 光标移动到非空白字符下一列
- 光标移动到非空白字符上一列

n<space> n为数字,表示移动多少个字符距离

0 或功能键[Home] 这是数字“ 0 ”:移动到这一列的最前面字符处(常用)
$ 或功能键[End] 移动到这一列的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一列的第一个字符
M 光标移动到这个屏幕的中央那一列的第一个字符
G 移动到这个文件的最后一列(常用)
nG n 为数字。移动到这个文件的第 n 列。例如20G 则会移动到这个文件的第 20 列(可配合:set nu)
gg 移动到这个文件的第一列,相当于 1G 啊!(常用)
n<Enter> n 为数字。光标向下移动 n 列(常用)

#搜索和取代#
/word 向光标之下寻找名称为word的字符串
?word 向光标之上寻找名称为word的字符串

n 代表重复前一个搜索动作,?word 之后按下n会继续搜索上一个word
N 与n相反,代表反向重复前一个搜索动作,?word 之后按下n会继续搜索上一个word

使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键字!

:n1,n2 s/word1/word2/g 在n1和n2列之间所有字符

😒/word1/word2/g 在n1和n2列之间所有字符word1替换为word2

x, X x向后删除一个字符, X向前删除一个字符
nx 向后删除n个字符
dd 删除光标所在列
ndd 删除光标向下n列

dG 删除光标所在到最后一列所有数据
d1G 删除光标所在到第一列所有数据

yy 复制光标的那一列(常用)
nyy 复制光标向下n列
y1G 复制光标所在列到第一列的所有数据
yG 复制光标所在列到最后一列的所有数据
y0 复制光标所在的那个字符到该列行首的所有数据
y$ 复制光标所在的那个字符到该列行尾的所有数据

p, P p将已复制的数据在光标下一列贴上, P将已复制的数据在光标上一列贴上

u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
小数点 . , 重复上一个动作

i I 进入插入模式(Insert mode):i为“从目前光标所在处插入”, I为“在目前所在列的第一个非空白字符处开始插入”。

r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

命令行界面指令:
:w 将编辑的数据写入硬盘文件中(常用)
:w! 若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关啊
:q 离开 vi (常用)
:q! 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存盘案

注意一下啊,那个惊叹号(!) 在 vi 当中,常常具有“强制”的意思

:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
:w [filename] 将编辑的数据储存成另一个文件(类似另存新文件)
:set nu
显示行号,设置之后,会在每一列的字首显示该列的行号
:set nonu 与 set nu 相反,为取消行号!

区块选择

当我们按下 v 或者 V 或者 [Ctrl]+v 时,这个时候光标移动过的地方就会开始反白,这三个按键的意义分别是

区块选择的按键意义
v 字符选择,会将光标经过的地方反白选择!
V 列选择,会将光标经过的列反白选择!
[Ctrl]+v 区块选择,可以用长方形的方式选择数据
y 将反白的地方复制起来
d 将反白的地方删除掉
p 将刚刚复制的区块,在光标所在处贴上!

多窗口功能

在一般窗口接口下的编辑软件大多有“分区窗口”或者是“冻结窗口”的功能来将一个文件分区成多个窗口的展现
在命令行界面输入“:sp {filename}”即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入 :sp 时, 出现的则是同一个文件在两个窗口间!

利用“[ctrl]+w+↑”及“[ctrl]+w+↓” 在两个窗口之间移动呢!

vim 的挑字补全功能

组合按钮 补齐的内容
[ctrl]+x -> [ctrl]+n 通过目前正在编辑的这个“文件的内容文字”作为关键字,予以补齐
[ctrl]+x -> [ctrl]+f 以当前目录内的“文件名”作为关键字,予以补齐
[ctrl]+x -> [ctrl]+o 以扩展名作为语法补充,以 vim 内置的关键字,予以补齐

vim 环境设置与记录: ~/.vimrc, ~/.viminfo

整体 vim 的设置值一般是放置在 /etc/vimrc 这个文件,不过,不建议你修改他! 你可以修改 ~/.vimrc 这个文件 (默认不存在,请你自行手动创建!),将你所希望的设置值写入!

由于编码的不同, 中文编码的问题 你的中文文件内容当然
就是一堆乱码了!怎么办?这时你得要考虑许多东西啦!有这些:

  1. 你的 Linux 系统默认支持的语系数据:这与 /etc/locale.conf 有关;
  2. 你的终端接口 (bash) 的语系: 这与 LANG, LC_ALL 这几个变量有关;
  3. 你的文件原本的编码;
  4. 打开终端机的软件,例如在 GNOME 下面的窗口接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值