关于ubuntu:vim的正确打开方式

77次阅读

共计 2853 个字符,预计需要花费 8 分钟才能阅读完成。

一、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 传输而来的这些字符串再进行一下缩进。若你拷贝的文本中曾经有示意缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进。

解决办法:

  1. 拷贝前,在末行模式下输出 set paste (这样的话,vim 就不会启动主动缩进,而只是纯拷贝粘贴)
  2. 拷贝后,在末行模式下输出 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 而后按高低键 在窗口间切换

正文完
 0