vim

Vim [m motion with c#

坚强是说给别人听的谎言 提交于 2019-12-23 06:59:02
问题 Vim provides very useful motion commands to jump to next start/end of a method: ]m, ]M, [m and ]m. These works for Java or similar structured language. (as described in :help ]m and :help 29.3) It seems to work considering the outermost pair of curly braces as class declaration and the next level of curly braces as method declarations. These motion commands doesn't work when there is an outer pair of curly braces around class definition, which is somewhat common on languages as C#. I was

Vim: Indent current (blank) line and insert

穿精又带淫゛_ 提交于 2019-12-23 06:58:19
问题 Say I have the current text in the buffer, where _ marks the cursor int main(int argc, char **argv) { printf("Hello, world!\n"); _ } I have indentexpr on (though a solution with cindent or autoindent will probably work, too). How do I begin inserting so my cursor is placed at the appropriate column to follow the indention rules, i.e.: int main(int argc, char **argv) { printf("Hello, world!\n"); _ } Currently I find myself using ddO often (or ddo at the end of the buffer), but it seems there

VI/VIM常用命令

邮差的信 提交于 2019-12-23 06:53:34
Vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在Dos上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 Vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:命令行模式、文本输入模式和末行模式。 命令行模式 (command mode/一般模式) 任何时候,不管用户处于何种模式,只要按一下键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。 在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。 文本输入模式 (input mode/编辑模式) 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中

Vim 快捷键整理

て烟熏妆下的殇ゞ 提交于 2019-12-23 06:53:18
一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f,向上翻页ctrl + b 3、向下翻半页ctrl + d,向上翻半页ctrl + u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到文档开始gg,移动到文档结束G 9、移动到匹配的{}.().[]处% 10、跳到第n行 ngg 或 nG 或 :n 11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L 12、读取当前字符,并移动到本屏幕内下一次出现的地方 * 13、读取当前字符,并移动到本屏幕内上一次出现的地方 # 二、查找替换 1、光标向后查找关键字 #或者g# 2、光标向前查找关键字 *或者g* 3、当前行查找字符 fx, Fx, tx, Tx 4、基本替换 :s/s1/s2 (将下一个s1替换为s2) 5、全部替换 :%s/s1/s2 6、只替换当前行 :s/s1/s2/g 7、替换某些行 :n1,n2 s/s1/s2/g 8、搜索模式为 /string,搜索下一处为n,搜索上一处为N 9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母 10、移动到某标签处 `x,1旁边的键 11、移动到上次编辑文件的位置 `. PS:

Vim快捷键

喜你入骨 提交于 2019-12-23 06:53:07
一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f(forward),向上翻页ctrl + b(back) 3、向下翻半页ctrl + d(page down),向上翻半页ctrl + u(page up) 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到文档开始gg,移动到文档结束G 9、移动到匹配的{}.().[]处% 10、跳到第n行 ngg 或 nG 或 :n 11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L 12、读取当前字符,并移动到本屏幕内下一次出现的地方 * 13、读取当前字符,并移动到本屏幕内上一次出现的地方 # 二、查找替换 1、光标向后查找关键字 #或者g# 2、光标向前查找关键字 *或者g* 3、当前行查找字符 fx, Fx, tx, Tx 4、基本替换 :s/s1/s2 (将下一个s1替换为s2) 5、全部替换 :%s/s1/s2 6、只替换当前行 :s/s1/s2/g 7、替换某些行 :n1,n2 s/s1/s2/g 8、搜索模式为 /string,搜索下一处为n,搜索上一处为N 9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母 10、移动到某标签处

vim 快捷键大全

三世轮回 提交于 2019-12-23 06:52:40
一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f,向上翻页ctrl + b 3、向下翻半页ctrl + d,向上翻半页ctrl + u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到文档开始gg,移动到文档结束G 9、移动到匹配的{}.().[]处% 10、跳到第n行 ngg 或 nG 或 :n 11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L 12、读取当前字符,并移动到本屏幕内下一次出现的地方 * 13、读取当前字符,并移动到本屏幕内上一次出现的地方 # 二、查找替换 1、光标向后查找关键字 #或者g# 2、光标向前查找关键字 *或者g* 3、当前行查找字符 fx, Fx, tx, Tx 4、基本替换 :s/s1/s2 (将下一个s1替换为s2) 5、全部替换 :%s/s1/s2 6、只替换当前行 :s/s1/s2/g 7、替换某些行 :n1,n2 s/s1/s2/g 8、搜索模式为 /string,搜索下一处为n,搜索上一处为N 9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母 10、移动到某标签处 `x,1旁边的键 11、移动到上次编辑文件的位置 `. PS:

Vim 快捷键整理

北城以北 提交于 2019-12-23 06:52:21
一、移动光标 1、左移h、右移l、下移j、上移k 2、向下翻页ctrl + f,向上翻页ctrl + b 3、向下翻半页ctrl + d,向上翻半页ctrl + u 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^ 5、移动光标到下一个句子 ),移动光标到上一个句子( 6、移动到段首{,移动到段尾} 7、移动到下一个词w,移动到上一个词b 8、移动到文档开始gg,移动到文档结束G 9、移动到匹配的{}.().[]处% 10、跳到第n行 ngg 或 nG 或 :n 11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L 12、读取当前字符,并移动到本屏幕内下一次出现的地方 * 13、读取当前字符,并移动到本屏幕内上一次出现的地方 # 二、查找替换 1、光标向后查找关键字 #或者g# 2、光标向前查找关键字 *或者g* 3、当前行查找字符 fx, Fx, tx, Tx 4、基本替换 :s/s1/s2 (将下一个s1替换为s2) 5、全部替换 :%s/s1/s2 6、只替换当前行 :s/s1/s2/g 7、替换某些行 :n1,n2 s/s1/s2/g 8、搜索模式为 /string,搜索下一处为n,搜索上一处为N 9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母 10、移动到某标签处 `x,1旁边的键 11、移动到上次编辑文件的位置 `. PS:

Vim: Warning: input is not from a terminal 后退出 vim 终端异常

女生的网名这么多〃 提交于 2019-12-23 06:07:50
Vim: Warning: input is not from a terminal 后退出 vim 终端异常 今天执行了如下命令调用 vi 来打开 find 搜索到的文件: longyu@longyu-pc:~$ find ./ -name 'linux-kernel-ixgbe-commit-log' | xargs vi 执行了上述命令之后,Vim 打印了下面的警告信息: Vim: Warning: Input is not from a terminal 没理会这个警告,退出 vim 后,发现终端异常,输入的字符不能正常显示,按 enter 换行也不正确。 具体的现象如下: longyu@longyu-pc:~$ longyu@longyu-pc:~$ longyu@longyu-pc:~$ longyu@longyu-pc:~$ 问题分析 出了问题之后,之前提到的那个警告需要重视一下。在网上搜索,发现了如下链接: invoking vi through find xargs breaks my terminal Why 通过阅读上述链接上的问题,我发现这个问题是 xargs 将 stdin 映射为 /dev/null 导致的。按照上述链接中的回答,我在终端中执行如下命令: true | xargs filan -s 执行后报 filan 命令找不到的错误。直接 sudo

Vim syntax highlighting of inline markdown

可紊 提交于 2019-12-23 05:01:59
问题 Is there any current vim plugin that allow me to highlight markdown text in a comment block of any arbitrary languages. And is that possible? 回答1: Have a look at my SyntaxRange plugin. It is based on Different syntax highlighting within regions of a file, and provides a :[range]SyntaxInclude markdown command as well as functions to do so programmatically. 来源: https://stackoverflow.com/questions/19150989/vim-syntax-highlighting-of-inline-markdown

VIM退出命令

我的未来我决定 提交于 2019-12-23 04:41:05
注意:这些命令前面都有一个冒号: 当编辑完文档,准备退出Vi返回到shell时,能够使用以下几种方法之一。 在命令模式中,连按两次大写字母Z,若当前编辑的文档曾被修改过,则Vi保存该文档后退出,返回到shell;若当前编辑的文档没被修改过,则Vi直接退出, 返回到shell。 在末行模式下,输入命令 :w Vi保存当前编辑文档,但并不退出,而是继续等待用户输入命令。在使用w命令时,能够再给编辑文档起一个新的文档名。 [例6] :w newfile 此时Vi将把当前文档的内容保存到指定的newfile中,而原有文档保持不变。若newfile是个已存在的文档,则Vi在显示窗口的状态行给出提示信息: File exists (use ! to override) 此时,若用户真的希望用文档的当前内容替换newfile中原有内容,可使用命令 :w! newfile 否则可选择另外的文档名来保存当前文档。 在末行模式下,输入命令 :q 系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文档没有被保存,则Vi在显示窗口的最末行显示如下信息: No write since last change (use ! to overrides) 提示用户该文档被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文档而要强行退出Vi时,可使用命令 :q!