vim的正确打开方式

码农天地 -
vim的正确打开方式

一、vim的四大模式

1.命令模式

1.1.光标移动

    h        j        k        l
    ←        ↓        ↑        →
    nh        光标左移n个字符;其它类似

    数字0    光标移到当前行首
    ^        光标移到当前行首(第一个非空字符)
    $        光标移到当前行尾

    G        光标移到当前文件最后一行
    gg        光标移到当前文件第一行
    nG        光标移到当前文件第n行,1G=gg
    :n        光标移到当前文件第n行,其实就是切换到末行模式输入n了

    H        光标移到屏幕顶部high
    M        光标移到屏幕中部middle
    L        光标移到屏幕底部low
    nH        光标移到屏幕顶部往下数n行,其它类似

    w        光标移到下一个字开头
    W        光标移到下一个字开头(空格分割的字)

    e        光标移到下一个字结尾
    E        光标移到下一个字结尾(空格分割的字)

    b        光标移到前一个字开头
    B        光标移到前一个字开头(空格分割的字)

1.2.翻页/滚动

ctrl+f    向下翻一页        forward
ctrl+b    向上翻一页        backward
ctrl+d    向下翻半页        down
ctrl+u    向上翻半页        up
ctrl+e    向下滚动一行
ctrl+y    向上滚动一行

zEnter    当前行滚动到屏幕顶部
zt        当前行滚动到屏幕顶部
z.        当前行滚动到屏幕中央
zz        当前行滚动到屏幕中央
z-        当前行滚动到屏幕底部
zb        当前行滚动到屏幕底部

1.3.查找

命令模式下 输入/或?就会进入 查找模式

?pattern        向上搜索,查找下一个按n即可。其中pattern表示要搜索的特定字符序列
/pattern        向下搜索

pattern表示要搜索的字符串,它可以是正则表达式,eg:

/^hello<Enter>      #查找以hello开始的串
/hello$<Enter>      #查找以hello结束的串
//^hello<Enter>     #查找^hello字符串

Vim中使用 \< 和 \> 分别表示单词的开头和结尾,eg:
    按下 / 启动搜索模式,输入 \<namespaces\>查找字符串namespaces
    要查找当前光标覆盖的单词,敲击 * ,Vim会自动启动搜索模式,光标移动到该单词下一个现身位置。

:noh            取消查找结果的高亮显示

1.4.编辑

复制
(已知的复制方法需要先进入visual模式,y复制所选,d剪切)

复制多行
    1.命令模式下,光标移动至想要开始复制的行,输入ma;
    2.光标移动至想要结束复制的行,输入y'a;

粘贴
    p        粘贴到当前行的下一行

撤销/恢复撤销
    u        撤销
    ctrl+r    恢复撤销

删除
            dG        删除全部
    dd        删除一行

选中
    选中一行
        1.命令模式下,^让光标移动至该行行首第一个非空字符;
        2.v进入visual模式,$光标移动至该行行尾;
    选中多行
    进入VISUAL BLOCK模式后,移动光标即可选中多行
    选中全部    ggvG        (gg让光标到达顶部,v进入visual模式,G让光标到达底部)

注释
    多行注释
        0.将光标移动到要注释的第一行首
        1.按ctrl + v进入VISUAL BLOCK模式
        2.选中多行(按j、k或上下方向键)
        3.按I(大写字母i)在各行首插入
        4.输入//或##等注释符号
        5.按esc退出VISUAL BLOCK模式(不是ENTER)
    取消多行注释:
        0.将光标移动到要取消注释的第一行首
        1.按ctrl + v进入VISUAL BLOCK模式
        2.选中第一行中要删除的注释符号(如//或##等),方法是按小写字母l键或方向右键
        3.按字母j、k,或者方向键,选中多行中的全部注释符号
        4.按d键删除所有选中的注释符号

2.插入模式

3.末行模式

q!        不保存强制退出
wq!        保存后强制退出
.,$d        删除全部文本内容

高亮

hi  高亮名称 清单(q退出)
match    highlight_color    /name/        在代码中高亮标记出name这个变量(name必须用/斜杠包裹/)
                                    使用的方案名称为highlight_color
match 在同一时刻只能使用一种高亮模式,新的会覆盖旧的
match     none                        取消高亮
2match    highlight_color    /name/        同时高亮多个模式

行号

set number
set nu
set nonumber                            关闭行号

4.VISUAL模式

移动光标        选中文本
y                复制选中的文本        yank拉
d                剪切选中的文本
G                光标移动到最后一行

排版
    缩进
        1.移动光标,选中多行
        2.用<或>缩进或缩出

5.其它模式

二、vim配置文件
vim配置文件的路径

redhat下 /etc/vimrc

ubuntu下 /etc/vim/vimrc

set paste

secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器。所以当你的服务器上的vim设置为autoindent的i模式下,它会将secureCRT传输而来的这些字符串再进行一下缩进。若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进。

解决办法:

拷贝前,在末行模式下输入set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)拷贝后,在末行模式下输入set nopaste (关闭paste)

附 paste 知识

'paste' 布尔型 (缺省关闭) 全局

{Vi 无此功能}

将 Vim 切换到粘贴模式。可用于从一个窗口剪切或复制文本并粘贴到 Vim。它的使用会避免一些意想不到的效果。设置此选项可用于终端上运行的 Vim,因为那里 Vim 没法区别输入和粘贴的文本。在 GUI 里,Vim 知道何者来自粘贴,即使不打开 'paste' 也基本上不会做错。对 Vim 能自己处理鼠标点击的终端也是如此。

set number

末行模式下:

set number 显示行号

set nonumber 不显示行号

以上方式开启行号显示只对当前编辑有效,退出编辑后再打开vim则失效。

全局开启/关闭行号显示:

打开配置文件/etc/vim/vimrc添加一行:

set number

set tabstop

打开配置文件/etc/vim/vimrc后,添加一行:

set tabstop=4

“一次tab缩进距离”设置为“等同于4个字符的距离”

三、vim奇淫技巧

模式切换

(从命令模式)进入插入模式

i insert (在光标前)插入

I (在当前行首)插入

a append (在光标后)插入

A (在当前行尾)插入

o (在当前行之下新开一行)插入

O (在当前行之上新开一行)插入

r replace

R

s

S

退出插入模式(至命令模式)

Esc

Ctrl+C

Ctrl+[

(从命令模式)进入末行模式

:

(从命令模式)进入VISUAL模式

v

(从命令模式)进入VISUAL BLOCK模式

ctrl + v

退出VISUAL模式(至命令模式)

v或Esc

退出VISUAL BLOCK模式(至命令模式)

ctrl + v

同时打开多个文件

单窗口显示

vi filename1 filename2 filename3

:n 切换到下一个文件(n即next) (此处文件有参数顺序,最后一个文件 无 下一个)

:N 切换回上一个文件 (此处文件有参数顺序,第一个文件 无 上一个)

:e# 切换回刚才编辑的文件 (此处文件无参数顺序,只有编辑历史顺序)

:e filename在任意文件间切换(无需提前打开)

多窗口显示

方法一:

vi -o file1 file2 file3

方法二:

打开一个文件后,:spfile2,可以连续追加,先开的文件在下后开的在上

ctrl+两次w 或者 ctrl+w然后按上下键 在窗口间切换

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

加个好友,技术交流

1628738909466805.jpg