linux学习笔记9 vim

目录

1.vi与vim

简介

按键说明

光标移动

查找替换

复制粘贴删除

进入编辑模式的按键

命令行模式按键

可视区块

多文件编辑

同终端多窗口编辑

vim的关键词补全功能

vim的环境设置与记录

DOS与linux的转换

语系编码转换


1.vi与vim

简介

vim可以视为vi的高级版本

vi的三种模式

一般命令模式:正常使用 vi或vim打开的页面即为一般命令模式

编辑模式:在一般命令模式按下特定键盘按键即可操作

命令行模式:输入 : / ? 即可启用命令行模式

vi filename 可用于打开旧文件或建立新文件(若无filename文件存在即建立新文件)

按键说明

一般命令行模式下

光标移动

h
j
k
l
若想多次移动,可通过 num按键 的组合如下30行 30j
ctrl+f向下移动一页,相当于pagedown
ctrl+b向上移动一页,相当于pageup
ctrl+d向下半页
ctrl+u向上半页
+光标移动到非空格符下一行
-光标移动到非空格符上一行
num<space>向右移动num个字符
0或 home移动到一行的第一个字符处
$或 end移动到一行的最后一个字符处
H光标移动到屏幕第一行第一个字符处
M光标移动到屏幕中间第一个字符
L光标移动到屏幕最后一行第一个字符
G移动到最后一行第一个字符
gg移动到第一行第一个地字符
numG移动到第num行
n<enter>与numj一样

查找替换

/abc向光标下方查找 abc
?abc向光标上方查找
n重复前一个查找操作
N与n相反
:n1,n2s/abc1/abc2/g在n1与n2行之间查找abc1并替换为abc2
:1,$s/abc1/abc2/g全文查找并替换
:1,$s/abc1/abc2/gc询问是否替换

复制粘贴删除

x与Xx为删除后一个字符,X相反
numx向后连续删除num个
dd剪切光标所在行
numdd剪切包括光标所在行向下num行
d1G剪切包括光标行到第一行
dG剪切包括光标行到最后一行
d$剪切光标所在处到该行最后一个字符
d0删除光标所在处到该行第一个字符
yy复制光标所在行
numyy包括光标行向下复制num行
y1G复制光标行到第一行的内容
yG复制光标行到最后一行的内容

y0

复制光标前一个字符到第一个字符
y$复制光标到最后一个字符
p与P在光标后方粘贴        在光标前方粘贴
J将光标所在行与下一行合并成一行
c删除,如c1j,向下删除1行,光标所在行也会删除,总计两行
u撤销操作
ctrl+r重做操作
.重复上一个动作(不包括本身)

进入编辑模式的按键

ESC推出INSERT模式
i与Ii为在目前光标所在处插入,I为在本行第一个非空格符处插入
a与Aa为在光标所在处后一位插入,A为在本行最后一个字符后插入
o与O

o为在光标所在行下插入一行,O为在光标所在行上插入一行

r与Rr为替换光标处的字符一次,R为一直替换直到esc

命令行模式按键

:w将数据写入磁盘
:w!强制写入
:q退出
:q!强制退出
:wq保存后退出
ZZ若未修改,则直接退出,若修改,则保存后退出
:w filename另存为新文件
:r filename将 filename 文件内容添加到光标所在行后面
:n1,n2 w filename将n1到n2的内容保存为 filename 文件
:! command如 :! ls 即执行ls命令,按提示建后返回文件
:set nu显示行号
:set nonu取消行号

关于vim的缓存文件 .swp:每用vim打开一个文件时就会加载一个swp文件,当文件非正常中断,缓存文件无法关闭,即一直存在,每次打开原文件都会出现警示界面,可以保存后删除旧的swp文件。多人编辑时也会出现警示。

可视区块

v将光标经过的地方反白
V将光标经过的行反白
ctrl+v矩形框选择
y复制
d删除
p在光标处粘贴

多文件编辑

前提是用 vim filename1 filename2 ... 打开多个文件

:n编辑下一个文件
:N编辑上一个文件
:files列出目前开启的所有文件

同终端多窗口编辑

:sp filename不输入filename即打开自己
ctrl+w+w光标移动到下一个窗口

ctrl+w+j

光标移动到下一个窗口
ctrl+w+k光标移动到上一个窗口
ctrl+w+q关闭当前窗口,等于 :close,不过close无法关闭最后一个窗口

vim的关键词补全功能

ctrl+x接ctrl+n文件中出现的词作为关键词补全
ctrl+x接ctrl+f当前目录内的文件名为关键词补全
ctrl+x接ctrl+o文件扩展名为语法补充,如.html  .cpp  .php等

vim的环境设置与记录

可在~下创建 .vimrc 文件设置环境值

:set nu

:set nonu

显示行号

:set hlsearch

:set nohlsearch

hight light search,将查找到的词高亮显示

:set autoindent

:set noautoindent

自动缩进

:set backup

是否自动保存备份文件,修改文件时,源文件会被保存为filename~的文件
:set ruler是否显示右下角状态栏
:set showmode是否显示左下角状态栏
:set backspace=0或1时,backspace无法删除原本文件中存在的字符,可删除刚输入的字符,3时都可删除
:set all显示所有的参数设置值
:set显示手动变动的参数

:syntax on

:syntax off

开启后会依据语法来显示不同的颜色

:set bg=dark

:set bg=light

background的色调,深色或浅色

DOS与linux的转换

由于DOS的换行符比linux多个符号,导致shell脚本无法运行

dos2unix -k file        保留文件原本的mtime

                -n file newfile        保留原本文件,修改的文件输出到新文件

unix2dos同上

语系编码转换

iconv --list        列出支持的语系

        -f 原编码 -t 新编码 filename        从原编码转换到新编码

        -o newfile        保存为新文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值