HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    vi命令跳到最后一行(vi命令跳到行尾)

    发布时间:2023-04-07 08:49:47     稿源: 创意岭    阅读: 92        

    大家好!今天让小编来大家介绍下关于vi命令跳到最后一行的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,相关业务请拨打电话:175-8598-2043,或添加微信:1454722008

    文章目录列表:

    vi命令跳到最后一行(vi命令跳到行尾)

    一、linux vi从当前行复制到文件尾的命令?

    linux vi从当前行复制到文件尾的命令操作方法;

    1.转到末行模式,

    >SHIFT+;,

    >set number(弄出行号),

    当前行号 co 最后一行的行号。

    2.如果当前行号 co 最后一行的行号,

    >就这样操作:,

    当前行号,当前行的下一行 co 最后一行的行号,

    然后再把当前行的下一行,

    >这一行给去掉就行了。

    二、vim模式与模式切换vim命令模式

    vim有三种模式,本文介绍VIM模式与vim模式切换的方法。

    vim命令 模式, 编辑模式 , 尾行模式 和文本编辑命令。

    Vim编辑模式插入字符,行尾、行首插入,删除一个字符和删除整行命令,Vim复制和粘贴命令,vim替换输入以及撤销和反撤销命令,Vim保存和另存为文件,显示vim当前编辑文件名。

    我们使用vim编辑器的常用文件操作主要是:插入、删除、复制、粘贴、替换、撤销、保存、另存为。

    在介绍Vim中的上述基本文件操作命令前,需要先介绍下vim的操作模式。因为vim的各种对文件操作命令需要在不同操作模式下使用。

    一、Vim三种操作模式

    Vim编辑器一共有3种模式,分别为 命令模式 (默认)、编辑模式、尾行模式。这3种模式的转换关系如下图所示。

    vim三种模式

    1 命令模式(command mode)

    命令模式是Vim的默认操作模式,当使用vim命令打开一个文件时,默认进入的就是命令模式。不管用户处于何种模式,只要按下Esc键就可使进入命令行模式

    2 编辑模式(input mode)

    只有在vim编辑模式下,才能将键盘键入的内容输入到当前打开的文件中

    在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本编辑模式

    3 尾行模式(last line mode)

    尾行模式主要用于保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号(set nu)、寻找字符串(/target)等

    在命令模式下,用户按冒号键(:)即可进入末行模式下,此时Vi会在显示窗口的最后一行显示一个”:“作为末行模式的提示符,等待用户输入命令

    二、Vim文本编辑命令

    约定:在没有特殊说明的情况下,以下Vim编辑命令部分提到的命令均是在命令模式下使用。

    1 vim插入命令

    在命令模式下按以下按键可进入编辑模式,执行插入操作,具体包括:

    从光标当前所在行的【行首】处开始插入:I

    从光标当前所在行的【行尾】处开始插入:A

    从光标当前所在行的【下一行】处开始插入:o

    从光标当前所在行的【上一行】处开始插入:O

    从光标当前所在位置的【前】一个字符处开始插入:i

    从光标当前所在位置的【后】一个字符处开始插入:a

    tips:i (insert)是在当前位置插入,a (append)表示是在后面追加

    2 vim删除命令

    在命令模式下按以下按键可执行删除操作,具体包括:

    删除从光标所在位置到当前【单词结束】部分的内容并进入插入模式:cw、cW

    删除从光标所在位置到当前【单词开始】部分的内容并进入插入模式:cb、cB

    删除从光标所在位置到当前【单词结束】部分的内容但不进入插入模式:dw、dW

    删除从光标所在位置到当前【单词开始】部分的内容但不进入插入模式:db、dB

    删除光标位置的【一个】字符:x

    删除当前光标所在【行】:dd

    删除从光标所在位置到当前【行首】的内容:d0

    删除从光标所在位置到当前【行尾】的内容:d$

    tips:

    (1) Vim的命令中,0 表示行首,$ 表示行尾,更多内容可参考卡拉图Vim操作范围、文件范围介绍

    (2) w(word)、b(back)命令用于光标移动,具体可参考卡拉图:vim光标移动命令汇总

    (3) cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字符串

    删除当前【段落】从光标位置开始到【段末】的内容:d}

    删除当前【段落】从光标位置开始到【段首】的内容:d{

    删除当前【句子】从光标位置开始到【句末】的内容:d)

    删除当前【句子】从光标位置开始到【句首】的内容:d(

    tips:Vim命令中用 ( 和 ) 表示句子,{ 和 } 表示段落

    3 vim复制命令、vim粘贴命令

    在命令模式下按以下按键可执行复制、粘贴操作,具体包括:

    将最后一次删除或复制操作的文本内容粘贴到光标所在字符之【后】:p

    将最后一个删除或复制操作的文本内容粘贴到光标当前字符之【前】:P

    复制从光标所在位置到当前【单词结束】部分的内容:yw

    复制光标所在【行】的所有字符 (包含换行符):yy

    tips:yyp 操作可以实现复制一整行内容到当前所在行的下一行

    4 vim替换命令

    在命令模式下按以下按键后,再输入字符可替换原始文件中的内容

    一直替换光标所在字符,直到按下[ESC]键为止:R

    删除、复制操作的操作单位可以加操作次数,操作对象的范围为:操作次数 * 操作单位

    替换光标当前所在字符一次:r

    例如:d3w命令表示删除三个单词,10dd命令表示从光标所在行开始删除后面的十行,更多内容可以参考Vim中的操作符和动作命令。

    5 vim撤销命令、vim回退反撤销命令

    在命令模式下可执行撤销操作

    撤销最近的一次操作:u

    恢复最近的一次操作(取消撤销):<Ctrl> + r

    tips:多次执行u 命令可以连续撤销最近的操作

    6 vim保存命令

    在尾行模式下执行以下命令可保存当前编辑的文件内容

    保存当前编辑的文件::w

    保存当前编辑的文件并退出vim::wq

    强制将当前编辑的文件保存::w!

    tips:上述操作是在尾行模式下执行的,所以命令都是以:开头

    7 vim另存为命令

    在尾行模式下执行命令 :w a.txt 可将vim当前打开的文件另存为新文件a.txt.

    tips:w(write) 表示将文件存档,: 表示尾行模式命令。

    8 vim显示当前文件名的方法

    命令 <Ctrl> + g 可显示当前编辑文件名及行数,可以在不退出 Vim 的情况下了解当前编辑文件的信息,更多内容,可参考30个vim常用命令和使用 vim技巧 。

    Vim入门级文件编辑命令汇总就先介绍到这里了,更多Vim文件编辑命令和Vim相关操作可阅读本站其它文章内容。

    三、在Linux系统的Vim中如何写入?

    vim编辑器的三种模式:一般模式、编辑模式和命令行模式。

    在一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式。在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行。在这个模式中可以提供查找数据的操作,而读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的。需要注意的是,编辑模式与命令行模式之间是不能互相切换的。

    下面列出平时用的最多的vi命令:

    移动光标的方法:

    [Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。

    [Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。

    0或功能键[Home]:移动到这一行的最前面字符处。

    $或功能键[End]:移动到这一行的最后面字符处。

    G:移动到这个文件的最后一行。

    gg:移动到这个文件的第一行,相当于1G.

    N[Enter]:N为数字,光标向下移动N行。

    查找和替换:

    /word:向下寻找一个名称为word的字符串。

    ?word:向上寻找一个名称为word的字符串。

    :n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.

    :1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.

    :1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。

    删除、复制和粘贴:

    x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。

    dd:删除光标所在的一整行。

    ndd:删除光标所在的向下n行。

    yy:复制光标所在的一行。

    nyy:复制光标所在的向下n行。

    p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。

    u:复原前一个操作。

    [Ctrl]+r:重做上一个操作。

    .:小数点,重复前一个操作。

    根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

    具体步骤如下:/导致这种情况的原因主要是??

    四、vim怎么快速跳到下一个空格

    < type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length > 300) { text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } }

    在vim下可以使用常用的箭头键

    但是 还有其它键可以让你更快的达到目标

    hjkl 这是代替箭头键功能的

    H M L 跳到屏幕的顶上 中间 下方

    w 跳到下一个单词的开始

    e 跳到单词的结束

    b 向后跳

    gg 跳到文件的开始

    G 跳到文件的结束

    10gg 或10G 跳到第10行

    ta 跳到下一个a 前面

    fa 跳到下一个a

    大写的意思相反

    另外还有%(跳到文件的%多少) 和|(跳到第几列) 不过我很少用

    上面的都可以加上数字前缀 表示第几个匹配

    另外看文件时 除了pageup pagedown外还有其它的快速键

    如CTRL-F 向前一页 CTRL-B 向后一页

    上面不是重要的

    CTRL-D 向下半页 CTRL-U 向上半页我觉得更实用 这样看文章时就不会跳转出错

    另外还有

    CTRL-E 向下一行

    CTRL-Y 向上一行

    ^ 行首

    $行尾

    0 第一个字符

    另外上面也作为vim其它命令的定位符 如删除d

    dt)

    一直删除到这行的)

    另外 懂了跳转键后 那删除或是复制时就不再是以行为单位了 可以指定到某个条件

    我觉得这是新手成长的必要方法

    另外还有ctrl-t ctrl-i ctrl-]

    如果已经使用了ctags 或是cscope创建索引文件的话 那看代码时很是方便

    跳转到函数、变量定义处:

    [+ctrl+i 跳转到函数、变量和#define

    [+ctrl+d 跳转到#define处

    ctrl+i 向前跳到前几次光标位置

    ctrl+o 向后跳到后几次光标位置

    函数体跳转:

    [[

    ]]

    []

    ][

    {}

    2009-07-07 17:31 补充

    如何选中括号中的内容 进行:

    将光标移至括号内,按shift+v进入行选模式,然后

    i{ - 选小括号中内容,不包括小括号

    a{ - 选小括号中内容,包括小括号

    ib - 选中括号中内容,不包括括号

    ab - 选中括号中内容,包括括号

    i{ - 选大括号中内容,不包括大括号

    a{ - 选大括号中内容,包括大括号

    :h text-objects

    下面还有些相关的tips,未全部验证:

    vi{ 选中{}中间的内容,不包括{}

    va{ 选中{}中间内容,包括{}

    vi( 选中()中间内容

    vi< 选中<>中间内容

    vi[ 选中[]中间内容

    vit 选中中间的内容

    vi” 选中”"中间内容

    vi’ 选中”中间的内容

    vis 选中一个句子

    vib 选中一个block

    viw选中一个单词

    vip 选中一个段落

    在normal模式下光标停在某个字符上ga可以查看该字符的ascii码

    #复制删除粘贴的操作:按V(shift+v),进入可视模式,jk上下选择需要的行,然后按

    y 复制

    d 删除

    x 剪切

    p 粘贴

    可视模式很好用,例如想把两行的所有单词变成小写,按V然后按j或k选中这两行,按gu即可

    #跳到行首按0,但实际更好用的是^, 跳到行首非空白字符

    #折行前空出4字符显示折行标识

    set foldcolumn=4

    #折叠或展开(在折叠的那一行左右移动光标也可展开折叠)

    za

    #删除光标所在行所处的范围的折叠

    zd

    #当在:set foldmethod=marker后,折行会把{{{和}}}之间的内容折叠

    #不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话,

    它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。

    set lbr

    #sw是shiftwidth的缩写,表缩进列数

    fx把光标移动到该行的下个x字符上,这个x也可以是一个汉字,;重复fx操作。Fx把光标移动到该行的上一个x字符上。

    gg光标定位到第一行开头,G定位到最后一行开头

    H光标跳到当前窗口显示文本的第一行

    M光标跳到当前窗口显示文本的中间一行

    L光标跳到当前窗口显示文本的最后一行

    g*查找包含当前单词的所有单词(*只查找与当前单词精确匹配的单词),

    -d光标下跳半屏,文本上滚半屏

    -u光标上跳半屏,文本下滚半屏

    -e文本向上滚动一行

    zz屏幕滚动使得当前行成为屏幕的中间一行

    normal模式下按J删除此行末尾的换行符,从而合并两行

    :e!重新读进上次保存的此文件内容

    :ab myname william_djj

    以后再编辑时键入myname,然后空格或回车myname串就会被william_djj代替

    :r !date

    在当前位置插入系统时间(linux下的date命令),同理当前位置插入某文件的内容就是

    :r filename

    :set ignorecase

    查找时取消case sensitive

    :set noignorecase

    查找时case sensitive

    ############ 使用tags ###################

    以下命令递归当前目录下的所有文件创建tags文件

    ctags -R .

    vim打开当前目录下的任意一文件,命令模式下键入下面语句以指定刚才创建的tags的位置,以后就可以在不同文件间查阅函数

    set tags=..\tags

    #分割窗口显示当前函数的定义

    -w ]

    ##########################################

    如果插件目录下有echofunc.vim,用以下命令生成tags,以后编辑代码函数名后打“(“时有参数提示。

    $ ctags -R –fields=+lS .

    :Tlist打开左边一个taglist的窗口,显示symbols。要注意的是在windows下如果tags文件路径中有空格或中文会报找不到tags文件的错误,

    +w+w 或者+w+left/right 窗口切换

    +] 进入光标所指的symbol的定义(如果用鼠标也是+鼠标左键,跟SI的用法一样)

    +t 返回第一个用+t 跳转位置,注意+o是跳回上一个视图,而+t是跳回上一次按+]的位置

    #以下命令分裂出一个窗口显示定义处

    ptag 函数名

    #以下命令关闭刚才打开的分裂窗口

    pclose

    #垂直分裂窗口打开一文件

    vsplit 文件名

    #水平分裂窗口打开一文件

    split 文件名

    变量名写成\name表示匹配模式

    停在某个括号上按%,跳到匹配的括号处,#if跳到匹配的#else或#endif处

    set fdm=syntax折叠函数体

    双击]往后逐个函数跳读,双击[往前逐个函数跳读

    #解决乱码

    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

    #在vim下对比两个文件,原来打开了fnpro.c,现在和fnpro.c.bak对比

    #垂直分割

    :vert diffsplit fnpro.c.bak

    #水平分割

    :diffsplit fnpro.c.bak

    #跳到下一个不同之处

    :]c

    #跳到上一个不同之处

    :[c

    #展开折叠:zo

    #折叠:zc

    #不论何种情况下-o都可以上一次跳转的地方

    #查看变量和函数的申明

    [i

    #以下为查看vim环境参数makeprg的值的例子:

    :set makeprg?

    #重新对文件代码进行缩进

    gg=G

    跳 转 到函数 、变量定义处:

    [+ctrl+i 跳 转 到函数 、变量和#define

    [+ctrl+d 跳 转 到#define处

    ctrl+i 向前跳 到前几次光标位置

    ctrl+o 向后跳 到后几次光标位置

    函数 体跳 转 :

    [[

    ]]

    []

    ][

    {}

    2009-07-07 17:31 补充

    如何选中括号中的内容 进行:

    将光标移至括号内,按shift+v进入行选模式,然后

    i{ - 选小括号中内容,不包括小括号

    a{ - 选小括号中内容,包括小括号

    ib - 选中括号中内容,不包括括号

    ab - 选中括号中内容,包括括号

    i{ - 选大括号中内容,不包括大括号

    a{ - 选大括号中内容,包括大括号

    :h text-objects

    下面还有些相关的tips,未全部验证:

    vi{ 选中{}中间的内容,不包括{}

    va{ 选中{}中间内容,包括{}

    vi( 选中()中间内容

    vi< 选中<>中间内容

    vi[ 选中[]中间内容

    vit 选中中间的内容

    vi” 选中”"中间内容

    vi’ 选中”中间的内容

    vis 选中一个句子

    vib 选中一个block

    viw选中一个单词

    vip 选中一个段落

    以上就是小编对于vi命令跳到最后一行问题和相关问题的解答了,如有疑问,可拨打网站上的电话,或添加微信。


    推荐阅读:

    vi使用

    vi三大核心要素(vi核心要素的是)

    vi设计的组成要素(vi设计构成)

    杭州萧山别墅推荐(杭州萧山的别墅)

    主播去杭州发展的优势是什么(在杭州的主播)