标签: vim

Vim的独特功能超过Sublime等更"现代"的文本编辑器?

我正在做关于vi/Vim的演讲.我想强调一下他们对新编辑器的一些功能,特别是Sublime Text.可以通过添加插件来平衡许多差异,但这是我目前的开箱即用功能列表,似乎是vi/Vim独有的:

  • vi可用于绝大多数Unix机器,包括服务器
  • 几乎所有操作系统都可以使用这些端口,包括移动设备
  • 逐块可视化编辑
  • 差异查看器内置
  • 拼写检查内置
  • 多个寄存器(又名"剪贴板")
  • Vim是免费软件,开源,慈善软件

我还有其他独特的内置功能吗?

vi vim sublimetext2

0
推荐指数
1
解决办法
1353
查看次数

在VIM中将unicode作为十六进制

我正在阅读关于unicode的这篇文章 - http://www.linuxjournal.com/content/unicode

为了更好地理解这个概念,在VIM中我保存了unicode字符'ഒ'U+ 0D12.当我切换到十六进制模式(使用:%!xxd命令)时,我看到以下内容:

0000000:e0b4 920a ....

\ 0a是结尾\n.但其他十六进制值对我没有任何意义.任何人都可以对此有所了解吗?

unicode vim hex

0
推荐指数
1
解决办法
687
查看次数

如何在替换命令的替换侧调用匹配方?

例如,要使用单个命令转换foo(a,b,c)foo(ax,bx,cx)您需要以下内容:

:s/[abc]/MATCHED_CHARACTERx/g
Run Code Online (Sandbox Code Playgroud)

这种替换的正确语法是什么?

regex vim replace

0
推荐指数
1
解决办法
46
查看次数

Vim匹配使用交替运算符| 没有捕获组

我有一个vimscript,它从vim命令行传递的字符串中获取匹配列表.字符串的一部分有一个类似的模式some-word.以下输出总结了问题:

echo matchlist("some-word", escape('(\w|-)+', '()+|')) " => ['some-word', 'd', '', '', '', '', '', '', '', '']

据我所知,这'd'是由于捕获组.我尝试使用[\w|-]但不会工作.我发现避免这种情况的一种方法是使用非捕获组\%(\w|-),但似乎添加了更多代码.vim没有像[]perl 那样的解决方案吗?

vim

0
推荐指数
1
解决办法
404
查看次数

重新映射; 并且:在Vim打破它

我刚刚发现有些人倾向于将其重新映射:;Vim中(因为;它仅用于搜索,并且:一直使用,而不是一直按下Shift很棒).

编辑(忘了显示我做了什么):

nnoremap ; :
nnoremap : ;
Run Code Online (Sandbox Code Playgroud)

我试过了,我喜欢它.但是,它确实带来了价格.这有点打破我的配置,例如:

map <leader>G mG:Git! 
Run Code Online (Sandbox Code Playgroud)

像上面看到的命令不再有效.

所以我的问题是,对于那些重新映射分号的人来说,解决这个问题的方法是什么?我应该只通过xmodmap 重新映射:;在系统级别上吗?

决定: 最终,为了保持一致性,我决定在系统级重新映射冒号和分号.

vim

0
推荐指数
1
解决办法
84
查看次数

删除VIM中的最后一列

在VIM中,我如何删除txt文件的最后一列.

1 2 3 4
x x x x
x x x x
Run Code Online (Sandbox Code Playgroud)

我想删除第4列

Result:
1 2 3
x x x
x x x
Run Code Online (Sandbox Code Playgroud)

谢谢

vim edit

0
推荐指数
1
解决办法
2829
查看次数

在VIM中保存文件时会导致5秒延迟的原因是什么?

当我在rails应用程序文件夹中保存文件冻结约5秒时会出现什么问题?如何调查此问题?

VIMRC:https://gist.github.com/4632cbcfc655899c934f

vim ruby-on-rails

0
推荐指数
1
解决办法
171
查看次数

将<enter>添加到.exrc快捷方式

我找到了这个很酷的exrc文件来制作F-Keys的东西,例如map #2 :set number,它只是放在那个ex命令中,并让我按回车确认.然而,我做了一个关闭(map #4 :q),如果它自动添加一个输入我想它,所以它只是关闭,我不必先按Enter键.然后我会点击它关闭.

如何添加输入字符?

vi vim

0
推荐指数
1
解决办法
51
查看次数

在方向上删除X很多单词,Vim

有没有办法指定在任何给定方向上删除多少个单词?我知道有一种方法可以指定删除多少个字母,但是单词呢?

就像我希望这些方面的东西:

2X <DIRECTION> 
Run Code Online (Sandbox Code Playgroud)

所以我可以采取这样的方式:

inoremap <F14>    <ESC>:call Smode('hlon')<CR>|
Run Code Online (Sandbox Code Playgroud)

把它变成这个:

inoremap <F14>    <ESC><CR>|
Run Code Online (Sandbox Code Playgroud)

vim

0
推荐指数
1
解决办法
63
查看次数

使用Recursive Decent解析器编译问题(c ++)

我正在编译我的c ++程序的问题,它是一个递归的正确解析器,这些是规则:

slist :: = stmt slist | stmt
stmt ::= decl | assign | print
decl ::= INT ID SC | FLOAT ID SC
print ::= PRINT expr SC
assign ::= ID EQUAL expr SC
expr ::=term PLUS expr|term MINUS expr| term
term ::= factor STAR term|factor DIV term| factor MOD term| factor
factor ::= primary STARSTAR factor | primary
primary ::= INTCONST | FLOATCONST | ID |
LPAREN expr RPAREN
Run Code Online (Sandbox Code Playgroud)

我仍然是C++的新手,所以我不确定我是否搞砸了什么,或者它是我的编译器.我在基因组/ ubuntu终端环境中使用VIM,这些是我在编译时遇到的错误,它看起来像一个丢失的包含头文件,但我100%确定我已经包含了头文件:

我的代码:

#include <iostream>
#include <string>
using …
Run Code Online (Sandbox Code Playgroud)

c++ vim recursion parsing genome

0
推荐指数
1
解决办法
341
查看次数

标签 统计

vim ×10

vi ×2

c++ ×1

edit ×1

genome ×1

hex ×1

parsing ×1

recursion ×1

regex ×1

replace ×1

ruby-on-rails ×1

sublimetext2 ×1

unicode ×1