小编Con*_*ner的帖子

Vim语法突出显示隐藏字符

我想为vim实现一个隐藏文件中某些字符的语法文件.具体来说,我想编写一个改进的荧光笔来读取没有显示某些格式化字符的Markdown文件,而是倾向于隐式地指示它们.例如,我想像*bold*渲染一样简单地bold使用粗体文本,或者像标题一样

My Header
=========
Run Code Online (Sandbox Code Playgroud)

不显示下划线,但只是出现不同的颜色.到目前为止,我还没有设法找到任何隐藏显示特定字符​​的vim语法文件的例子.这是vim可能的吗?如果是这样,怎么样?

vim vim-syntax-highlighting

7
推荐指数
1
解决办法
1414
查看次数

使用Vim在PHP脚本中突出显示真正的SQL语法

我知道可以使用该选项在PHP脚本中启用SQL语法突出显示

let php_sql_query=1
Run Code Online (Sandbox Code Playgroud)

但这只能突出显示每个字符串中的所有SQL关键字.即使是一个正常的句子这一个.

有没有办法只为以"选择","更新"或"删除"开头的字符串启用此功能?

php sql vim vim-syntax-highlighting

7
推荐指数
1
解决办法
1092
查看次数

使NeoComplCache显示与omnicomplete相同的匹配

我想在VIM中设置自动完成(intellisense).为此,我使用NeoComplCache插件,它可以工作,但它不会显示所有显示的条目C-xC-o.例如,NeoComplCache不显示任何新创建的函数,变量或类,而omnicomplete显示它们就好了.

我在_vimrc中有这个:

autocmd FileType php set omnifunc=phpcomplete#CompletePHP
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_auto_select = 1
let g:neocomplcache_min_syntax_length = 1
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉NeoComplCache显示这些条目,以便Vim的默认C-xC-o项目显示?

谢谢

vim

7
推荐指数
1
解决办法
894
查看次数

在vi/vim中保留某些"单词"时替换

例如,如果我有$asd['word_123'],我想用它替换它$this->line('word_123'),保留'word_123'.我怎么能这样做?

通过使用这个:

%s/asd\[\'.*\'\]/this->line('.*')/g
Run Code Online (Sandbox Code Playgroud)

我无法保持两者之间的措辞.请赐教.

regex vi vim replace

7
推荐指数
1
解决办法
2955
查看次数

在Vim中自定义语法高亮显示

如何突出以sql_引号开头并在引号内的字符串?

我的日志文件:

MGPostgreSQLConnection.OpenQuery; "sql_p_factory_history"-ExecTime: 47ms
2010-11-12T17:28:18+01:00;custom; MGPostgreSQLConnection.OpenQuery; "sql_p_factory_history"-ExecTime+FetchTime: 47ms
2010-11-12T17:28:18+01:00;custom; MGPostgreSQLConnection.OpenQuery; "sql_factory"-ExecTime: 47ms
2010-11-12T17:28:18+01:00;custom; MGPostgreSQLConnection.OpenQuery; "sql_factory_contactperson"-ExecTime+FetchTime: 62ms
Run Code Online (Sandbox Code Playgroud)

我的vimrc(当然这不起作用):

au BufRead,BufNewFile *.log syn match "sql_*"
au BufRead,BufNewFile *.log hi sql guifg=white guibg=red
Run Code Online (Sandbox Code Playgroud)

vim vim-syntax-highlighting

6
推荐指数
2
解决办法
5882
查看次数

WebDriver:添加新元素

有没有在当前DOM中添加/插入元素的方法?

webdriver

6
推荐指数
1
解决办法
5422
查看次数

Vim没有突出显示bash脚本的语法(msysgit版本)

我正在使用msysgit附带的bash和vim.我已将.vimrc文件添加到我的主文件夹中,并且大多数命令都在执行.但syntax on事实并非如此.

这是我的~/.vimrc文件的内容:

set cul
hi CursorLine cterm=none ctermbg=darkgray ctermfg=white
syntax on
Run Code Online (Sandbox Code Playgroud)

当前的行和突出显示现在正在运行,但是syntax on失败了.Msysgit安装它自己的vim,在C:\Program Files (x86)\Git\share\vim\vim73\syntax文件夹中,它不包含bash.vim或sh.vim文件.其他文件在那里,如conf.vim,gitcommit.vim和gitrebase.vim - 甚至是c.vim.

我猜这就是没有突出显示的原因.鉴于我无法触摸该文件夹(不要问),如何更改我的.vimrc文件以加载bash.vim文件 - 什么是获取一个文件的好地方?

任何帮助表示赞赏.

vim bash msysgit vim-syntax-highlighting

6
推荐指数
1
解决办法
6247
查看次数

如何调试作为vim插件一部分的python函数?

python调用在我的一些.vim文件中定义.

:breakadd file linenumber xx.vim 似乎不起作用.

当我按下一个触发某些python函数调用的键时,它不会停在该行.发生了什么?顺便说一句,因为我使用打开文件,所以我处于vim的调试模式vim -D filename.

如下图所示,我想要做的是调试一个python函数,当我按下F5vim 时调用它.

在此输入图像描述

python debugging vim vim-plugin

6
推荐指数
1
解决办法
611
查看次数

vim-powerline插件问题

我在VMWare托管的Ubuntu实例中显示正确的字体或字形时遇到问题.

webkell@ubuntu:~$ uname -a
Linux ubuntu 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我已经使用Vundle安装了vim-powerline,并且ii)应用了该指南的"linux"部分中描述的fontpatcher ,但是我仍然看到这个截图中看到的奇怪字符:

这个截图.

我在用户提供的Powerline字体中尝试过字体Lucida Sans Typewriter-Powerline.otf和Monaco_Linux-Powerline.ttf .我甚至尝试过设置set guifont=MyFontlinux实例.但这没有帮助.

是否有一些特殊的咒语我必须用来在我的VMWare托管的Ubuntu上进行这项工作?它在主机Mac上运行良好.

谢谢

vim fonts plugins

6
推荐指数
2
解决办法
8822
查看次数

如何设置给定列表位置的嵌套python dict的"第n"元素?

如果我有一个dict例如

d = { 'a': {
            "x": [],
            "y": {
                "z": {
                    "1": 'loser'
                        }
                 }
            }
    }

print(d['a']['y']['z']['1']) #=> loser
Run Code Online (Sandbox Code Playgroud)

但是,我不知道这个词典中有多少嵌套项目.相反,我有一个键列表,如:

['a', 'y', 'z', '1']
Run Code Online (Sandbox Code Playgroud)

什么是优雅的设置方式d['a']['y']['z']['1'] = 'winner'

这是我尝试过的:

l = ['a', 'y', 'z', '1']

def change_the_value(d, l, value):
    if len(l) == 1:
        d[l[0]] = value
    if len(l) == 2:
        d[l[0]][l[1]] = value
    if len(l) == 3:
        d[l[0]][l[1]][l[2]] = value
    if len(l) == 4:
        d[l[0]][l[1]][l[2]][l[3]] = value
    # ... ad infinitum
    return d

change_the_value(d, l, 'winner')
print(d) …
Run Code Online (Sandbox Code Playgroud)

python arrays dictionary list

6
推荐指数
2
解决办法
80
查看次数