X



Vim Part28
■ このスレッドは過去ログ倉庫に格納されています
004341
垢版 |
2018/05/25(金) 17:55:36.37
>>42
ありがとうございます。望み通りです!
0044名無しさん@お腹いっぱい。
垢版 |
2018/05/25(金) 18:03:08.87
>>42
autocmd のイベントってカンマ区切で複数書けたんだった
まとめて1行でおk

autocmd CursorMoved,InsertEnter * if &cursorline + &cursorcolumn > 0 | set nocursorline nocursorcolumn | endif
004541
垢版 |
2018/05/25(金) 19:15:10.75
>>44
重ねて感謝します。
ところで再現する条件を精査するまでもない些事なのですが、
最後のendifだけシンタックスハイライトされなくないですか?
ほんとにどうでもいいことですが……。
0046名無しさん@お腹いっぱい。
垢版 |
2018/05/25(金) 21:13:49.20
:versionの出力をフィルタリングする良い方法ある?
具体的にはさ
:versionで出力される“Compiled by XXX”のXXXの値によって場合分けする処理をvimrcに書きたい。
0047名無しさん@お腹いっぱい。
垢版 |
2018/05/25(金) 22:35:25.45
>>46
redir => でコマンドの出力を変数に代入
あとは正規表現で如何様にでも

let version_string = ""
redir => version_string
silent version
redir end

let compiled_by = matchlist(version_string, '\nCompiled by \([^\n]\+\)')
echo get(compiled_by, 1, "Unknown")
0048名無しさん@お腹いっぱい。
垢版 |
2018/05/27(日) 02:57:10.22
Neovim(0.3.0-dev)でambiwidth=singleにして欧文のアクセント記号を含むファイルを表示すると、表示が乱れませんか?
Vim8では問題ない。
0049名無しさん@お腹いっぱい。
垢版 |
2018/05/30(水) 10:10:41.47
windows版のgvimだとaltキーの組み合わせで特殊な文字を打てたりしたけど
windows版以外で同じようにできませんか?

例えば alt+\ でUの上に点々が付いた文字
alt+shift+\ だと小文字uの上に点々の文字
こういうのできませんか?
0050名無しさん@お腹いっぱい。
垢版 |
2018/05/30(水) 15:49:50.33
VimINFOファイルって変数を指定できないんですかね。
let MYVIMINFO = /some/file
set viminfo='2000,<2000,s2000,h,nMYVIMINFO
とするとカレントディレクトリにMYVIMINFOという名前のファイルができてしまいます。
環境変数にすればいいのですが、できれば無用な環境変数は作りたくありません。
0056名無しさん@お腹いっぱい。
垢版 |
2018/06/01(金) 05:38:48.85
$VIM や $VIMRUNTIME が環境変数として引き継がれるする利点てなんだろ。
vim から場所やバージョンの違う vim を実行するときミスマッチが起きて思ったんだけど、
シェル変数(not環境変数)みたいに実行中のvimのみ参照するようには出来ないんだろうか。
0057名無しさん@お腹いっぱい。
垢版 |
2018/06/01(金) 11:04:24.40
Vimが起動する前に$VIMが設定できない仕様だと
ユーザーが好きな起動ディレクトリを設定できないからじゃないの?
005856
垢版 |
2018/06/01(金) 18:20:10.17
まあ、そうだよね。普通に使えばそれでいいよね。。
ラッパー間に入れる事にしまっする
0062名無しさん@お腹いっぱい。
垢版 |
2018/06/12(火) 02:33:52.51
Vimのシェルスクリプトのシンタックスハイライトで
headはハイライトされないのにtailはハイライトされるんだけどどういうこと?
カラースキームやバージョンの問題ではないと思う。
0064名無しさん@お腹いっぱい。
垢版 |
2018/06/14(木) 01:37:41.20
vimはケータイでコーディングするときとsshでcui環境のときしか使ってない
今時コーディングする時ってみんなIDE使ってるんだよね?
あと、neovim の補完とかデバッグ機能ってIDEと比べてどうなの?
0065名無しさん@お腹いっぱい。
垢版 |
2018/06/14(木) 14:00:41.15
Vimで数字を増減するとき「2018-06-14」の14が負数として認識されるんだけど
これを正規表現かなにかを使って「YYYY-MM-DDの形式のときは正数として認識する」みたいなことって可能?
help CTRL-Aから始まる数字の増減に関するヘルプも見たけど有益な情報は得られなかった。
案としてはCTRL-Aを一旦ある関数を呼び出すトリガキーとしてマップして
その関数内でカーソル下の数字の判定を行うみたいなことをできればいい
という当たり前のことしか思い付かない。
どなたかおねがいします。
0067名無しさん@お腹いっぱい。
垢版 |
2018/06/14(木) 17:08:02.19
-削除か別の文字に置換してカウントアップしたらまた-付ければええやん
0070名無しさん@お腹いっぱい。
垢版 |
2018/06/15(金) 03:02:14.57
ええ…
0071名無しさん@お腹いっぱい。
垢版 |
2018/06/17(日) 20:39:22.64
ロートル専用だと思ってたけど案外置換と検索だけでもなんとかなるもんだな
テキストオブジェクトと矩形編集が中々いいわ
変態バインドを覚える気はないし秘伝のタレを拵える気もないが
0077名無しさん@お腹いっぱい。
垢版 |
2018/06/19(火) 09:24:31.41
オライリーの電子書籍のみでリリースされてるvi&Vimデスクトップリファレンス第2版はオライリーの入門vi第6版よりも詳しくVimについて書かれてありますか?
0078名無しさん@お腹いっぱい。
垢版 |
2018/06/20(水) 02:03:40.72
Vimのコマンドライン履歴(シェルの履歴ではなくて)で
パスを必ず絶対パスで保存する機能とかありますか?
例えば
:pwd
/home/alice/work
:tabedit ../.bashrc
とした場合に履歴が
pwd
tabedit /home/alice/.bashrc
となるようにしたいということです。

よろしくおねがいします。
0081名無しさん@お腹いっぱい。
垢版 |
2018/06/26(火) 12:56:01.30
例えばカッコの中身を書き換えた後に閉じカッコを飛ばして入力を再開するとか、一文字分だけカーソルを進めたいことがよくあるんだけど、みんなどうしてるの?ctrl+o l ?
0084名無しさん@お腹いっぱい。
垢版 |
2018/06/27(水) 08:56:36.39
括弧の中を書き換えるという話だと括弧の外は既にコードがあるので一旦ESCして目的の場所に飛ぶと思う

新規コードで括弧閉じを勝手に入れるようにしてると括弧内を書き終えた後、括弧の外に移動しなきゃならないから括弧閉じを自分で入れる以上のモーションが必要になるので自分で閉じたい派
0085名無しさん@お腹いっぱい。
垢版 |
2018/06/27(水) 17:00:55.31
root用の配色が暗くて読めないんだけどお前らどうしてんの
rootの.bashrcに個人用の配色設定使わせればいいだろと思ったら甘かった
sudo vimは/root/でbashの入力補完できないし
0090名無しさん@お腹いっぱい。
垢版 |
2018/06/29(金) 20:29:29.29
Vim 7,8のシンタックスハイライトで,
cat <<__EOF__ | grep 'aaa'
111
aaa
ccc
__EOF__
みたいなシェルスクリプトがあったとき,
| grep 'aaa'の部分がヒアドキュメントの一部と見做されてしまう。
ほんとうはこれはパイプを挟んだ別のコマンド。
どなたかこれ直す方法分かりますか?
$VIMRUNTIME/syntax/sh.vim
を編集すればいいことは知っていますが文法が分からん。
0094名無しさん@お腹いっぱい。
垢版 |
2018/07/01(日) 09:05:05.18
>>90
ヒアドキュメントのハイライトの定義を書き換えるのではうまく行かない
そうではなく "<<EOF | ..." の "| ..." 部分だけ別のハイライトで「上書き」できれば…

というわけで、出来たみたい
どうぞ
https://pastebin.com/5jrwwgnQ
~/.vim/after/syntax/sh.vim に書けばok
0095名無しさん@お腹いっぱい。
垢版 |
2018/07/01(日) 09:42:14.94
ab
ac
ad
っていう文字列があってこれを
a_b
a_c
a_d
って文字と文字の間にアンダーバーを置換使って入れたいんだけど、どうしたらいいですか?
0097名無しさん@お腹いっぱい。
垢版 |
2018/07/01(日) 12:05:23.59
テキストオブジェクトがvimに興味を持つきっかけだったけど
正規表現も知らん内に手を出すもんじゃないね
やっと覚えたら今度はエスケープが違うとかハゲるわ
0100名無しさん@お腹いっぱい。
垢版 |
2018/07/09(月) 22:38:38.89
下の12,345の部分を567に変えたいのですが
カンマがあり cw でまとめて変更できないので困っています。
この場合、皆さんはどのような操作をされますか?

この商品は12,345円です。
0105名無しさん@お腹いっぱい。
垢版 |
2018/07/11(水) 22:23:57.58
日本語・英語混在の文章で、英単語の両端に半角空白を挿入したいのですが
いい方法ありますか?
クォート等の記号で囲むなら、サラウンド使って viwS" で出来ますが
空白文字では囲めないようです
0106100
垢版 |
2018/07/11(水) 23:29:11.63
>>102-104
返信ありがとうございます。

cWでいけますね!

お二方、どうもありがとうございました。
0107名無しさん@お腹いっぱい。
垢版 |
2018/07/12(木) 01:43:49.87
>>105
%s/([a-zA-Z]+)/ \1 /g
英単語が行末にあると行末にも空白は入っちゃうけどそこは
%s/ +$//g
とか?
置換一回で解決できるのが思いつかない
0113名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 13:31:54.00
勝ち組っていうか少なくともメンテナンスされてるという点は大きいよね
いくら便利でも2000年代前半に更新が止まってるようなソフトウェアはちょっと……。
0115名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 13:42:14.91
テキストの文字コードを指定して読み直す時コマンドって
:e ++enc=〜 だけど、fencじゃなくてencなのが謎だね
0118名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 14:17:14.91
vim対emacs戦争で勝利したvimだが、次はneovimと戦うことになるだろう。
neovimの一部にはvimの血が流れているけど
コードからは余計な古いマシンとの互換性のためのコードが削除され
メンテナンスしやすいよう改良され
新しいプラグインアーキテクチャが導入されている。
neovimが勝利しvimが過去のものとなってしまうのか!?
このゴジラ対メカゴジラのような展開に乞うご期待!
0120名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 14:38:12.84
neovimよりspacevimが覇権取ると思うわ
今の時代特殊な用途以外ではfishやらspacevim、spacemacsのような始めから整備された環境を使うのが合理的よ
0121名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 14:56:29.28
>>120
大方賛同するけど,しかし挙げている具体例には反対する。
シェルやテキストエディタというものは(このスレの住人なら)毎日触るもの。
滅多に使わないものならともかく,毎日使うものは自分でチューニングしたほうがいいんでは?
と主張してる俺だが,OSカーネルのコンパイルオプションはデフォルトのままw
0122名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 20:16:42.88
vimに負けたと言うよりもその他のエディタに食われただけだろうなemacsは

vimはその特殊性から生き延びた
0124名無しさん@お腹いっぱい。
垢版 |
2018/07/15(日) 22:56:33.62
Macのあれは変更してないけど,bashはset -o viしてるな。
ていうかVimも一行を編集するときはEmacsっぽいでしょ。
ていうかそもそも^Aで行頭,^Hで一文字抹消とかはEmacs由来じゃなくて,もっと原始的な,
テレタイプとかなんじゃないの?
0125 ◆HIO4dN/gyUeh
垢版 |
2018/07/19(木) 10:43:42.73
すいません。ageさしてもらいます。
今Vimを開いていて、別のシェルにおいてバックアップ操作を間違い、.vimrcを空にしてしまいました。
↑ここで言っているようにVimは開いていて設定ファイルは読み込まれているはずです。
ですのでどうにか.vimrcを再現したいのですが、なにか助言をいただけないでしょうか。

どうかよろしくおねがいします
0129名無しさん@お腹いっぱい。
垢版 |
2018/07/19(木) 11:35:09.29
verbosefileを設定してれば楽だったかもな
どうせしてないだろうがw
0130名無しさん@お腹いっぱい。
垢版 |
2018/07/19(木) 21:38:54.45
let retlist = []
for i in filter(getcompletion('','option'),'v:val!~''^\%(all\|termcap\)$'' ' )
let str = execute("verb set " . i . "?")
if str =~ "Last set from"
let retstr = i ."\t". string(eval("&". i)) ."\t". matchstr(str, '\_.*Last set from\s*\zs.*')
call add(retlist, retstr)
endif
endfor
fun! s:sort(a,b)
let a = matchstr(a:a,'[^\t]\+$')
let b = matchstr(a:b,'[^\t]\+$')
return a == b ? 0 : a > b ? 1 : -1
endfun
echo join(sort(retlist,'s:sort'),"\n")
0134名無しさん@お腹いっぱい。
垢版 |
2018/07/21(土) 21:18:31.95
モード切り替えって日本語入力とすこぶる相性悪いと思うんだけどそうでもないのか
挿入モードにしようとして「い」になる事故とか
0137名無しさん@お腹いっぱい。
垢版 |
2018/07/21(土) 23:23:07.73
uim-skkだけど、設定で挿入モードを抜けるときに自動的に英数に戻るので、
実はそれほど影響はないが、他のIMだとどうなのかな?
0139名無しさん@お腹いっぱい。
垢版 |
2018/07/22(日) 15:19:39.36
>>136
日本語モードのときは「い」の後にエンターを押さないとまだ確定したしないと思うんだけど、それでもいけるかな?
0140名無しさん@お腹いっぱい。
垢版 |
2018/07/23(月) 04:43:51.48
>>139
すまん。SKKだとあれで行けるので他でも大丈夫と思っていたが
mozcだと無理だな。エンターキー押さないと機能しない。
忘れてくれ。
0141名無しさん@お腹いっぱい。
垢版 |
2018/07/24(火) 13:42:43.22
指定文字数を置き換えたい時のコマンドは何かありますか?

例えば下記のような時、aaa.bbbをzzzに書き換えたい時、cwだとaaaしか対象にならず、cWだとcccまで対象になります。
この時に、7と何かのキーを組み合わせて7文字だけをzzzに書き換えたいです。
aaa.bbb.ccc ddd

ドット(.)はファイルタイプによって単語区切りが変わりますのであくまで例題です。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況