我这样配置_vimrc文件:
hi CursorLine guibg=#DDDDDD
hi SpecialKey guifg=#d8a080 gui=italic
set listchars=tab:»\ ,trail:·,extends:»,precedes:«,eol:¶
set CursorLine
set list
Run Code Online (Sandbox Code Playgroud)
当我移动光标时,当前行的SpecialKeys的fgcolor变为黑色!
我怎么能保留它们#d8a080和斜体?
非常感谢你!
xxx <=> zzz
原文:
xxxyyyzzz
运行命令:
:s/???/???/
它成为了:
zzzyyyxxx
运行上面的相同命令:
:s/???/???/
回到原文:
xxxyyyzzz
就像切换案例(〜)
aBCdeFg <=> AbcDEfG
我:set number在~/.vimrc显示行号.当我键入:help以查看文档时,行号不会显示在新窗口中.
如果我输入:setl number?,则会打印出来nonumber.如果键入:setg number?,则打印number.
我想知道为什么~/.vimrc不起作用.哪个脚本重置本地number选项?我已经检查了$VIMRUNTIME/ftplugin/help.vim,但它没有重置number.
目前,我正在使用:
if has('autocmd')
auto FileType help set number
endif
Run Code Online (Sandbox Code Playgroud)
谢谢.
$ man bash
Run Code Online (Sandbox Code Playgroud)
不对'[['和']]'之间的单词执行单词拆分和文件名扩展; 执行波形扩展,参数和变量扩展,算术扩展,命令替换,进程替换和引用删除.
$ echo $BASH_VERSION
4.2.10(1)-release
Run Code Online (Sandbox Code Playgroud)
$ [[ "hello" =~ "he" ]] && echo YES || echo NO
YES
Run Code Online (Sandbox Code Playgroud)
$ [[ "hello" =~ he.* ]] && echo YES || echo NO
YES
Run Code Online (Sandbox Code Playgroud)
$ [[ "hello" =~ "he.*" ]] && echo YES || echo NO
NO
Run Code Online (Sandbox Code Playgroud)
为什么命令2和3不同?
我有一个模板文件(template.txt):
Hello, $x\nHello, $y\nRun Code Online (Sandbox Code Playgroud)\n\n我有一个脚本文件(script.sh):
#!/bin/bash\n$x=linux\n$y=unix\n# I want to include template.txt as a here-doc\nRun Code Online (Sandbox Code Playgroud)\n\n如何包含template.txt为here-docof script.sh.
\n这样,当我运行时script.sh,输出应该是:
Hello, linux\nHello, unix\nRun Code Online (Sandbox Code Playgroud)\n\n编辑:
\n\n我认为replace这对于我的工作来说是一个很好的命令\xef\xbc\x9a
$ cat template.txt | replace '$x' linux '$y' unix\nRun Code Online (Sandbox Code Playgroud)\n\n更复杂的工具:
\n\n$ cheetah compile template.tmpl\n$ x=linux y=unix python template.py --env\nRun Code Online (Sandbox Code Playgroud)\n 我正在尝试读取一个文本文件,例如 file.txt,它包含多行。
说输出file.txt是
$ cat file.txt
this is line 1
this is line 2
this is line 3
Run Code Online (Sandbox Code Playgroud)
我想将整个输出存储为变量,例如$text.
当变量$text被回显时,预期输出为:
this is line 1 this is line 2 this is line 3
Run Code Online (Sandbox Code Playgroud)
我的代码如下
while read line
do
test="${LINE}"
done < file.txt
echo $test
Run Code Online (Sandbox Code Playgroud)
我得到的输出始终只是最后一行。有没有一种方法可以将 file.txt 中的多行连接为一个长字符串?
我试图让gVim在Windows 7机器上工作,并且遇到以下问题:
每当我尝试更改_vimrc文件时,我都会收到一条消息,说我无权保存在此位置.这是我的家用电脑顺便说一句.
我似乎无法更改保存我编辑的文件的目录.目前他们都被保存到我的桌面.我尝试过:将dir = path设置为我要保存的位置......但没有成功.
我想通过vimtutor; 但是,每当我将vimtutor键入cmd时,vim会打开一秒钟然后关闭.
如何更改_vimrc文件以及如何为编辑的文件设置目标?
我非常喜欢Ctrl-O和Ctrl-I前后跳跃.
如果我打开fileA,则使用:tabe fileB在新标签页中打开另一个文件.
在第二个标签页中,我键入Ctrl-O以跳回上一个位置.
Vim只是fileA在当前窗口中显示而不是切换到第一个标签页.
现在我有两个tabpages显示相同的文件.这不是我想要的.
我可以使用:drop fileA,但我需要提供全名.这还不够好.
是否有一些很好的方法来切换windows cross tabpages?
在进行替换之前,我通常先键入/foo以搜索模式.
Vim自动突出显示符合模式的所有字符串.
然后我弄清楚如何编写替换命令:%s/foo/bar/g.
当模式很复杂时,编写替换命令要比搜索命令困难得多.
如果我只能在突出显示的字符串上进行替换.变得容易.
问题:翻译部分行
我可以找出搜索模式:
但我无法轻易找出替换命令./\[\[\(http\)\@!.\{-}\]\]
我想得到包含关键词的整段.
例如,以下是输出 "ifconfig -a"
bond0 Link encap:Ethernet HWaddr 00:11:3F:C1:47:98
inet6 addr: fe80::211:3fff:fec1:4798/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:1881856 errors:0 dropped:0 overruns:0 frame:0
TX packets:1059020 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2618747813 (2.4 GiB) TX bytes:182058226 (173.6 MiB)
bond0:oam Link encap:Ethernet HWaddr 00:11:3F:C1:47:98
inet addr:135.2.156.97 Bcast:135.2.156.111 Mask:255.255.255.240
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
bond0:oamA Link encap:Ethernet HWaddr 00:11:3F:C1:47:98
inet addr:135.2.156.103 Bcast:135.2.156.111 Mask:255.255.255.240
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
Run Code Online (Sandbox Code Playgroud)
我想用粗体提取段落.也就是说,该段落包含"bond0:oamA"
我知道的关键词,如果我使用grep,只使用行
bond0:oamA Link encap:Ethernet …Run Code Online (Sandbox Code Playgroud) vim ×6
bash ×3
awk ×1
cut ×1
grep ×1
permissions ×1
shell ×1
text ×1
ubuntu-12.04 ×1
windows-7 ×1