我无法找到如何在所有目录中搜索Vim :
pe在c:\和d:\(包括子目录)中的所有.txt文件中搜索"search-item"
谁能帮我?
我使用这些键移动块文本(或整行)向左或右的:
向左移动块:
nmap <C-A-Left> <<
vmap <C-A-Left> <gv
向右移动块:
nmap <C-A-Right> >>
vmap <C-A-Right> >gv
但是这些命令只能将块或整行移动到左侧或右侧.
我经常在一行中选择两到三个小字,我想向左或向右移动.有没有人知道如何使用Alt - Left和Alt - Right键移动一行中的文本选择?
更新:
如上面的命令,我想在实际文本pe上移动选择
| | =选择
one |two three| four five six seven
one four |two three| five six seven
one four five |two three| six seven `
在我的win32系统上,我在 Vim 中有这个命令在写字板中打开一个 vim 文件:
silent ! start c:\Program Files (x86)\Windows NT\Accessories\wordpad.exe "%:p"<CR>
Run Code Online (Sandbox Code Playgroud)
在我的win64系统上这不起作用。我收到此错误:
error: Windows cannot find `"c:\Program"`
Run Code Online (Sandbox Code Playgroud)
也许是因为里面的空间"Program Files (x86)"和"Windows NT"?
我该如何解决这个问题?
我经常使用VIM在报纸或博客网站上撰写评论.
通常需要输入最多字符数.
如何在键入时创建一个计数器(状态栏中的pe)以查看我键入的字符(包括空格)?
例:
s=" 300 january 10 20 "
mylist = s.split()
mylist = ['300', 'january', '10', '20']
Run Code Online (Sandbox Code Playgroud)
如何创建一个列表,在拆分前添加元素的字符串位置:
mylistStringPos = [['300',startpos:endpos],...]
mylistStringPos = [['300',2:5], '['january',12:19]', '['10',25:27]', '['20',34:36]']]
Run Code Online (Sandbox Code Playgroud)
Python中有没有办法做到这一点?
我使用 Vim 已经很多年了,但我仍然不知道如何在不按下任何快捷键的情况下在启用自动弹出字典建议的情况下输入文本(例如在记事本++或谷歌安卓键盘中)。
这些是我在 vimrc 中的选项:
set completeopt=longest,menuone
set omnifunc=syntaxcomplete#Complete
Run Code Online (Sandbox Code Playgroud)
简而言之,我想要的是:
1)打字时自动弹出窗口中只有字典建议。
2) 仅在 supertab 中提供缓冲区词建议(使用 Tab 键)
(但......不包括缓冲区名称)
我怎样才能得到这个?
有没有办法使用浏览器插件或其他文本编辑器将Vim像notepad ++一样工作为pspad,ultraedit和editplus?
那是
保持文件扩展器始终保持左侧(左侧边栏宽度为15%)并打开内容窗口中的所有文件(宽度的85%)和新选项卡中的每个文件(上图).
我检查了nerdtree和vimexplorer插件,但找不到任何方法来做我想要的.
我不喜欢Vim中的Vimball文件,但是越来越多的插件使用Vimball来自行安装.
一个月前我安装了64位操作系统并将我的vimfiles目录移动到c:\ users \"my-name"
没问题.一切正常.
今天我想更新一个插件(现在是Vimball).
在获取插件(:so %)后,
我收到了很多错误:
Error detected while processing function vimball#Vimvall..vimball#VimballHome:
E739: Cannot create directory C:/Progra~1/Vim/vimfiles
Error detected while processing function vimball# Vimball..<SNR>119_ChgDir:
E344: Can't find directory "C:\Progra~1\Vim\vimfiles in cdpath
E472: Command failed
Run Code Online (Sandbox Code Playgroud)
......所以整整一页都有这些错误.
发生了什么,我该如何解决?
后续问题: 使用切片的Python交换索引
r = ['1', '2', '3', '4', '5', '6', '7', '8']
Run Code Online (Sandbox Code Playgroud)
如果我想交换切片,使用函数,那么正确的方法是什么?
def swap(from,to):
r[a:b+1], r[c+1:d] = r[c:d], r[a:b]
swap(a:b,c:d)
Run Code Online (Sandbox Code Playgroud)
我想在r中将数字3 + 4与5 + 6 + 7交换:
swap(2:4,4:7)
Run Code Online (Sandbox Code Playgroud)
它是否正确?
例:
mylist = [['2', '12/12/2016'], ['4', '10/12/2016'], ['5', '08/12/2016'], ['4', '10/12/2016'], ['7', '12/12/2016'], ['10', '12/12/2016'], ['11', '08/12/2016'], ['4', '12/12/2016'], ['10', 'test']]
Run Code Online (Sandbox Code Playgroud)
子列表中的第一个元素是字符串编号子列表中
的第二个元素可以是任何字符串
如果子列表中的第一个元素已经在列表中,我想合并子列表(并删除双重的字符串)
输出:
newlist = [['2', '12/12/2016'], ['4', '10/12/2016', '12/12/2016'], ['5', '08/12/2016'], ['7', '12/12/2016'], ['10', '12/12/2016', 'test'], ['11', '08/12/2016']]
Run Code Online (Sandbox Code Playgroud)
如何根据条件获取合并列表?
在我看来,Vimscript没有很多用于操作字符串的功能.
我经常使用matchstr(),substitute()和strpart().
也许还有更多.
什么是删除下一个字符串"a"中的亚麻布之间的所有文本的最佳方法?
let a = "\%8l............\|\%11l..........\|\%17l.........\|\%20l...." --> etc
Run Code Online (Sandbox Code Playgroud)
我想只保留数字并将它们放在一个列表中.
(亚麻布之间的文字可能不同)
编辑:
输出我想获得:
['8','11','17','20'] - >等
例:
搜索:
/lastword\s*\n\zs\(\s*\n\)\{6}\ze\s*startword
Run Code Online (Sandbox Code Playgroud)
此搜索在以"lastword"结尾的行和以"startword"开头的行之间搜索6个空行
我想抓住与此搜索匹配的空行的亚麻布.
有没有办法在vim中这样做?
vim ×9
python ×3
python-3.x ×3
list ×2
search ×2
string ×2
ack ×1
arrow-keys ×1
character ×1
cmd ×1
conditional ×1
dictionary ×1
file-manager ×1
findstr ×1
grep ×1
indexing ×1
install ×1
layout ×1
lines ×1
match ×1
merge ×1
move ×1
popup ×1
position ×1
regex ×1
selection ×1
split ×1
swap ×1
tabs ×1