小编ib.*_*ib.的帖子

将Vim中每行开头的空格数减半

有人能告诉我如何在Vim中执行与此映射相反的操作:

nnoremap <leader>iw :let _s=@/<Bar>:let _s2=line(".")<Bar>:%s/^\s*/&&/ge<Bar>:let @/=_s<Bar>:nohl<Bar>exe ':'._s2<CR>
Run Code Online (Sandbox Code Playgroud)

作为澄清,该映射&&将每行开头的空白数量加倍(部分).只有第一个常规字符前的空格才会受到影响.保留当前搜索字符串(可变_s).此转换后位置恢复(变量_s2)

所以基本上我正在寻找一个映射,如果它们被一个接一个地执行,它将撤消这个映射.

我无法弄清楚如何限制这个新操作只能在第一个常规字符之前的空格上工作.

vim removing-whitespace

4
推荐指数
1
解决办法
191
查看次数

Vim找到并替换.我怎么能这样做?

我有一个XML文件,我想对其进行一些更改.例如,我想在Vim中打开文件并运行查找并替换memory="..."属性的所有实例,memory="24G"但仅当元素来自name="node-0...".这是一个例子:

process name="node-0-3" numaNode="3" memory="14G" logConfig="logback-shards.xml"
process name="node-0-4" numaNode="4" memory="34G" logConfig="logback-shards.xml"
process name="node-0-5" numaNode="5" memory="44G" logConfig="logback-shards.xml"
Run Code Online (Sandbox Code Playgroud)

用...来代替

process name="node-0-3" numaNode="3" memory="24G" logConfig="logback-shards.xml"
process name="node-0-4" numaNode="4" memory="24G" logConfig="logback-shards.xml"
process name="node-0-5" numaNode="5" memory="24G" logConfig="logback-shards.xml" 
Run Code Online (Sandbox Code Playgroud)

我怎么能在Vim中做到这一点?

vim replace

4
推荐指数
1
解决办法
580
查看次数

如何在 Android 10 中以编程方式重新启动应用程序?

我想要一种在用户进行任何删除广告横幅的应用内购买后重新启动应用程序的方法,以便onCreate()再次调用这些方法。

\n

问题是,我不\xe2\x80\x99不希望任何服务被终止,我只想应用程序以更改的限制重新启动

\n

我在 Stack Overflow 上找到了这段代码:

\n
Intent mStartActivity = new Intent(getApplicationContext(), MainActivity.class);\nint mPendingIntentId = 123456;\nPendingIntent mPendingIntent = PendingIntent.getActivity(getApplicationContext(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);\nAlarmManager mgr = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);\nmgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);\nSystem.exit(0);\n
Run Code Online (Sandbox Code Playgroud)\n

java android

4
推荐指数
1
解决办法
9611
查看次数

Vim 和 ASCII 扩展字符?

我想知道如何设置 VIM 7.0 以毫无问题地显示和使用 ASCII 扩展字符。

vim

3
推荐指数
1
解决办法
8107
查看次数

如何在不影响当前窗口的情况下打开Vim中的缓冲区列表

在Vim中,我想加载一个缓冲区列表而不影响当前窗口.

我目前正在加载一个缓冲区列表

:n **/*.php
Run Code Online (Sandbox Code Playgroud)

除了将当前窗口更改为最后加载的文件外,它的工作原理非常好.我正在寻找一个特定的解决方案,缓冲区在后台加载,我当前的窗口不受影响.

不是在追求:

  1. 如何将我之前的窗口恢复如下:

    :b #
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何创建Vim函数以避免丢失窗口.

  3. 如何创建会话并将其加载回来

    :mksession myproject.vim
    
    # vim -S myproject
    
    Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

php vim

3
推荐指数
1
解决办法
108
查看次数

在Vim中剪切并粘贴而不移动下一行

当我通过按下切割并粘贴在VIM中v,然后使用$,然后按下该行的末尾时d,下一行将向上移动到我正在切割的同一行.

我怎么阻止这个?

vim

3
推荐指数
1
解决办法
653
查看次数

Vim:插入行尾

是否有钥匙在Vim的行尾插入一些东西?它会类似于A,除非它会在最后一个字符之前插入,而不是在它之后插入.

用例例如在Python中:

if ((a and b) or c:
Run Code Online (Sandbox Code Playgroud)

并且您想在冒号前插入缺少的括号.当你想在分号前插入一些东西时,在C语法语言中有类似的用例.

vim keyboard-shortcuts editor

3
推荐指数
1
解决办法
157
查看次数

将当前窗口切换到上一个当前窗口

我经常打开两个Vim窗口(带a :vsplit).是否有命令或命令序列将当前(选定)窗口切换到先前当前的窗口.

所以,如果我有两个窗口显示,其中一个垂直分割它们(左窗口是当前窗口),我执行键组合Ctrl- W J(将当前窗口移动到右侧窗口),是否有一个键组合我可以将我切换回左侧窗口的类型,如果我再次输入将把我切换回右侧窗口?

vim

3
推荐指数
1
解决办法
279
查看次数

缩进代码的方式与Vim中ex模式中的=相同

如何在Vim中以与=可视模式相同的方式在命令模式下缩进代码?

vim

3
推荐指数
1
解决办法
455
查看次数

如何在 Vim 的状态行中添加当前会话文件名?

我最近将sessionman插件添加到我的 Vim 配置中,到目前为止我很喜欢它。

\n

我知道 Vimv:this_session在使用会话时设置为会话文件名,并且我\xe2\x80\x99d 喜欢将其添加到我的状态行。不幸的是,v:this_session包含完整的文件路径,并且它通常太长,无法容纳在状态行中。

\n

所以我的问题是:如何提取没有完整路径的文件名v:this_session并将其添加到我的状态行?

\n

vim session

3
推荐指数
1
解决办法
541
查看次数