标签: vim

如何提取带有模式的行并将它们放在文件的末尾

假设我有以下文字.

a test1
b test2
a test3
b test4
Run Code Online (Sandbox Code Playgroud)

什么是用于提取以字母a开头的行并将它们放在文件末尾的命令是什么?

b test2
b test4

a test1
a test3
Run Code Online (Sandbox Code Playgroud)

当我使用:g/^ a/d和p时,粘贴唯一的最后一个匹配:

b test2
b test4

a test3
Run Code Online (Sandbox Code Playgroud)

vim

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

vim在一行中替换多个字符

命令:%s:a:b将修改行aaa,以行baa.问题是如何bbb仅使用一个命令获得结果(不使用:%s:a:b3次,我现在正在做什么:-)).

vim

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

Vim中的Regexp未按预期工作

为什么以下正则表达式

/\d{2, 4}/
Run Code Online (Sandbox Code Playgroud)

当我在下面的文本上运行它时,我希望识别文本中2到4位之间的所有数字

1234567890
Run Code Online (Sandbox Code Playgroud)

在vim.

regex vim

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

扩展Vim中的Javascript语法突出显示

我想用突出显示程序中常用的某些功能来扩展JS语法突出显示。我正在使用janus使我的所有插件井井有条。现在,我在其中有一个文件vim-chino,然后在其中有一个syntax文件夹和一个ftdetect文件夹。在两个我都有一个chino.vim文件。这是我的syntax/chino.vim文件:

if !exists("main_syntax")
  if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif
let main_syntax = 'javascript'
endif


syn match chinoKeywords "ChinoView"
hi def link chinoKeywords Function


let b:current_syntax = "javascript"
if main_syntax == 'javascript'
  unlet main_syntax
endif
Run Code Online (Sandbox Code Playgroud)

在我中,ftdetect/chino.vim我有:

function! s:DetectJS()
    if getline(1) =~# '^#!.*/bin/env\s\+node\>'
        setfiletype javascript
    endif
endfunction
autocmd BufNewFile,BufRead * call s:DetectJS()
Run Code Online (Sandbox Code Playgroud)

我希望它ChinoView在任何javascript文件中突出显示。我觉得JS的语法突出显示要么是覆盖它,要么是没有被读取。

编辑:如果我不得不猜测发生了什么事,那是当它看起来b:current_syntax已经有一种语法,因此就退出了。

javascript vim syntax-highlighting

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

如何查找和替换大小写并在Vim中保持大写

比方说我有:

foo and Foo
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到并替换它

bar and Bar
Run Code Online (Sandbox Code Playgroud)

在Vim中使用一个regex/find和replace命令?默认情况下,我的Vim设置可以在搜索时找到大写和小写.现在我只想取代保留大写字母.这甚至可能吗?

regex vim

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

Python可以在vim编辑器中运行吗?

是否可以在vim编辑器中运行Python代码?

有什么必要安装支持以及Python语法高亮?

我如何安装"python.vim:python语法高亮显示脚本的增强版本"?

我没有自动创建〜/ .vim /语法而我正在使用Mac,我下载的只是.app文件,一个我不知道其目的的可执行文件和一个自述文件.

我也尝试过为python.vim文件创建一个文件夹,但这也没有用.

python vim

0
推荐指数
2
解决办法
8716
查看次数

为什么gf不能用于vim但是ctrl +]有效?

我有一个文件,例如a.pl有这个方法调用:

add_location(@crew);

实际定义在同一个文件中.如果我这样做:CTRL + ]光标跳转到定义.如果我这样做:gf我得到:
E447: Can't find file "add_location" in path

如果我这样做,:pwd我将获得当前的工作目录.抱怨的路径是什么?函数定义位于同一文件中.

linux vi vim ctags

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

VIM:如何在行之前添加自定义标记

我想将错误的行标记为源代码.我使用外部程序(例如,flake8)检测到错误的行.当我保存源代码时,我希望VIM执行外部程序并标记无效行.

我想到了"标记"线条的不同可能性,例如加下划线或改变背景颜色.我想要做的是在文本的左侧有一个额外的列,在那里我可以放置一些标记(例如,">")来指示有问题的行.

我知道flake8 vim插件,它显示完整的烧瓶输出,我只想要小标记.

题:

我怎样才能添加这样的"专栏"?

我想到了一个宽度= 1的单独窗口,但也许有更好的选择.

(这个问题在innaM的评论后从这里迁移)

vim

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

匹配vim中字符串中的最后一个"

在VIM中搜索时,我想找到以下内容:

''
Run Code Online (Sandbox Code Playgroud)

我在做的是:

/''
Run Code Online (Sandbox Code Playgroud)

然而,这将把我的光标放在第一个'

我该如何搜索,但只匹配最后一次出现

'
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样的事情:

/'$(?<=')/g
Run Code Online (Sandbox Code Playgroud)

谢谢.

regex vim

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

在文本文件的多行的第80列中插入字符

我编写了一个多行C宏,出于可读性的考虑,我想在每行的第80列插入字符'\'.一个例子可能有助于理解我需要什么.假设宏最初是这样的:

#define MY_MACRO \
expression \
a_longer_expression \
 \
a_super_jumbo_size_expression \
macro_ends_here
Run Code Online (Sandbox Code Playgroud)

我希望最终结果是这样的:

#define MY_MACRO                     \
expression                           \
a_longer_expression                  \
                                     \
a_super_jumbo_size_expression        \
macro_ends_here
Run Code Online (Sandbox Code Playgroud)

因此,每行应填充从最后一个非空格字符到第79列的空格,然后在第80列中插入'\',包括空行.

这可能使用vim,sed或awk吗?如果是,怎么样?

vim awk sed

0
推荐指数
2
解决办法
866
查看次数

标签 统计

vim ×10

regex ×3

awk ×1

ctags ×1

javascript ×1

linux ×1

python ×1

sed ×1

syntax-highlighting ×1

vi ×1