标签: vim

ARB模板(ActiveAdmin)的Vim语法突出显示无效

当我用Vim语法打开ARB模板时,突出显示不起作用:

-app /视图/管理/新闻/ _show.html.arb

panel "#{t('active_admin.details', model: "News")}" do
  attributes_table_for news do
    row :id
    row :title
    row :description
    row :twitter_url do
      link_to(news.twitter_url, news.twitter_url, target: "_blank") if news.twitter_url
    end
#...
Run Code Online (Sandbox Code Playgroud)

一切都只是黑色和白色,它不显示颜色

如何解决?

vim syntax-highlighting activeadmin vim-syntax-highlighting

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

脚本:仅复制两个指定行之间的部分

例如

文件a.txt具有以下上下文

aaa
bbb
ccc
ddd
eee 
Run Code Online (Sandbox Code Playgroud)

什么是可以实现这一目标的脚本,如此

script.sh a.txt 2 4

输出:

bbb
ccc
ddd
Run Code Online (Sandbox Code Playgroud)

其中2和4是指定的行号.

vim bash awk

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

jshint vimrc SpellBad定制不坚持

运用

" Customize jshint highlights 
hi clear SpellBad
hi SpellBad cterm=underline,bold ctermfg=white ctermbg=black
Run Code Online (Sandbox Code Playgroud)

SpellBad当我第一次打开包含jshint错误的缓冲区时,我能够将我的jshint高光自定义为我想要的颜色.从这里可以看出,我的背景是黑色的,带错误的行是粗体白色和下划线.正如我在.vimrc上面使用这些定义所指定的那样.

在此输入图像描述

问题是,当我在缓冲区之间切换或稍后再打开一个缓冲区时,我的自定义jshint SpellBad颜色不再适用,我得到了我不想要的"默认"颜色.

在此输入图像描述

为什么会这样?如何使我的自定义jshint SpellBad颜色坚持下去?

vim jshint

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

使用正则表达式删除vim中的文本块

我有一个文件:

mr l 0x19600000 0x00004341
mr l 0x19600004 0x00004820
mr l 0x19600008 0x00003130
mr l 0x1960000c 0x00003920
Run Code Online (Sandbox Code Playgroud)

我想删除每一行的最后一部分.所以在我上面的例子中我想删除

0x00004341
0x00004820
...
Run Code Online (Sandbox Code Playgroud)

等等.

该文件包含大约4000行,所以我想正则表达式应该是这样做的.到目前为止,我一直在vim中尝试这个没有运气.

所以问题是如何做到这一点?

regex vim substitution

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

删除标签后的完整行

我有以下格式的文件:

"Abu Road","ABR Rajasthan   NWR/North Western   260 m   [5]
Run Code Online (Sandbox Code Playgroud)

我想在第一个标签后删除所有内容.结果将是:

"Abu Road","ABR Rajasthan
Run Code Online (Sandbox Code Playgroud)

在Windows上使用gVim.

vim

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

在Vim中匹配包含任意行与regex的表达式

在用Vim打开的文本文件中,我试图匹配两个字符串DRIVER_ACTIVITY和DriverGroup的出现,其间有任意数量的行:

2013-07-01 05:06:23,801 DRIVER_ACTIVITY
2013-07-01 05:06:23,804 text
2013-07-01 05:06:23,804 more text
2013-07-01 05:06:23,805 DriverGroup
Run Code Online (Sandbox Code Playgroud)

使用:

/DRIVER_ACTIVITY(.*)DriverGroup/s  
/DRIVER_ACTIVITY((.|\n|\r)*)DriverGroup  
/\vDRIVER_ACTIVITY((.|\n|\r)*)DriverGroup  
/DRIVER_ACTIVITY\[\S\s\]*DriverGroup
Run Code Online (Sandbox Code Playgroud)

什么都不匹配.如何匹配所有行/新行?

regex vim

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

插入单个字符重新映射

我有一个系统在vim中插入单个字符 - 我使用:nmap <Space> i_<Esc>r.然而,出于某种原因,这似乎干扰了我重新逃脱.我重新开始逃跑了:imap kj <Esc>.

每当我按下时kj,vim会_在我的光标前插入一个,然后改变我按下空格的样子.我无法弄清楚为什么这些东西会像这样互动.有人可以解释一下这个问题吗?我很感激.

这是我的整个vimrc

"general settings
syntax on
filetype plugin on
set number
set smd
set ru

"Leader
let mapleader=','
nmap <Leader>w :w<Enter>
nmap <leader>e :wq<Enter>
nmap <leader>q :q!<Enter>

"remappings
nmap ; :
imap kj <Esc>
nmap <Space> i_<Esc>r

"au comands
au Filetype python source ~/.vim/scripts/python.vim
au Filetype ruby source ~/.vim/scripts/ruby.vim
au Filetype c source ~/.vim/scripts/c.vim
Run Code Online (Sandbox Code Playgroud)

vim command-line remap

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

在gvim中使用单独的文件(?)创建两个窗口

我是初学者vi用户.我不知道术语,但我想把我的gvim终端(屏幕?)拆分成2个窗口,每个窗口有5个不同的文件(缓冲区?).我可以在一个窗口中打开前5个文件,然后拆分到第二个窗口,但我不知道如何在第二个窗口中打开另外5个不同的文件.我一直无法找到这些信息.通常我用:n和切换文件:prev.

再说一遍:我想在左侧窗口中输入文件1-5,在右侧窗口中输入文件6-10.这可能吗?

vim buffer split window

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

使用Vim中的搜索进行映射

在正常模式下,我输入以下内容时,会选择分配的左侧:

^v/=
Run Code Online (Sandbox Code Playgroud)

这种行为不会在看似等效的映射中复制:

onoremap lhs :<c-u>execute "normal! ^v/="
Run Code Online (Sandbox Code Playgroud)

工作有什么区别?

vim

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

删除所有行,直到以破折号开头的行

我使用Vim来编辑我的电子邮件,我每天要做的事情是删除所有引用的行,直到我的签名开始:

Some my text and the caret _

> Some other quoted text I want to get rid of
> Blah blah

--
My signature
Run Code Online (Sandbox Code Playgroud)

我一直做的是jVjjjjjjd或类似的东西.

我希望在这方面更有效率并删除所有内容,直到双破折号.不幸的是df-只能在当前行上工作,我想指定像"^ - "这样的正则表达式.

怎么做?谢谢!

vim

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