Vim Part28

■ このスレッドは過去ログ倉庫に格納されています
2018/05/17(木) 19:18:17.53
Vim 6以降に関する話題、Part28です。
http://www.vim.org/

前スレ
Vim Part25 [転載禁止]?2ch.net
http://peace.2ch.net/test/read.cgi/unix/1427713482/
Vim Part26
http://mevius.2ch.net/test/read.cgi/unix/1455436351/
Vim Part27
http://mevius.5ch.net/test/read.cgi/unix/1507038883/

関連情報は>>2-6あたり
2018/06/19(火) 06:47:53.88
vimについて意見するとvimはviより高性能なんだから文句は贅沢だのなんだのって流れ
2018/06/19(火) 09:24:31.41
オライリーの電子書籍のみでリリースされてるvi&Vimデスクトップリファレンス第2版はオライリーの入門vi第6版よりも詳しくVimについて書かれてありますか?
78名無しさん@お腹いっぱい。
垢版 |
2018/06/20(水) 02:03:40.72
Vimのコマンドライン履歴(シェルの履歴ではなくて)で
パスを必ず絶対パスで保存する機能とかありますか?
例えば
:pwd
/home/alice/work
:tabedit ../.bashrc
とした場合に履歴が
pwd
tabedit /home/alice/.bashrc
となるようにしたいということです。

よろしくおねがいします。
2018/06/20(水) 06:15:31.99
$HOMEとか環境変数利用するのは?
2018/06/20(水) 12:31:44.46
>>79
返信感謝です。
もう少し詳しくおねがいできないでしょうか。
2018/06/26(火) 12:56:01.30
例えばカッコの中身を書き換えた後に閉じカッコを飛ばして入力を再開するとか、一文字分だけカーソルを進めたいことがよくあるんだけど、みんなどうしてるの?ctrl+o l ?
2018/06/26(火) 15:35:03.41
たかが一文字カーソル進めるだけじゃん
ソレが一日何十回あるんだよ?
2018/06/27(水) 08:33:24.16
うーん、10回以上はあるかなあ。
2018/06/27(水) 08:56:36.39
括弧の中を書き換えるという話だと括弧の外は既にコードがあるので一旦ESCして目的の場所に飛ぶと思う

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

というわけで、出来たみたい
どうぞ
https://pastebin.com/5jrwwgnQ
~/.vim/after/syntax/sh.vim に書けばok
95名無しさん@お腹いっぱい。
垢版 |
2018/07/01(日) 09:42:14.94
ab
ac
ad
っていう文字列があってこれを
a_b
a_c
a_d
って文字と文字の間にアンダーバーを置換使って入れたいんだけど、どうしたらいいですか?
2018/07/01(日) 10:49:04.39
>>95
:%s/\<a\([a-z]\)\>/a_\1/g
2018/07/01(日) 12:05:23.59
テキストオブジェクトがvimに興味を持つきっかけだったけど
正規表現も知らん内に手を出すもんじゃないね
やっと覚えたら今度はエスケープが違うとかハゲるわ
2018/07/01(日) 12:08:58.78
ロートル隔離エディタ
2018/07/02(月) 11:21:14.84
>>94
すご! ありがとうございます!
無事期待通りのシンタックスハイライトになりました!
2018/07/09(月) 22:38:38.89
下の12,345の部分を567に変えたいのですが
カンマがあり cw でまとめて変更できないので困っています。
この場合、皆さんはどのような操作をされますか?

この商品は12,345円です。
2018/07/09(月) 22:42:33.81
>>100
ビジュアルモードで12,345を選択して
c で567に変更すればいいんですね。
失礼しました・・・
2018/07/09(月) 22:52:18.18
>>101
cf6だと1打鍵くらいは短いかも
2018/07/09(月) 22:55:12.44
おっとcf5の間違い
2018/07/10(火) 20:45:54.00
cWならコンマ無視してまとめて変更できるんじゃね
2018/07/11(水) 22:23:57.58
日本語・英語混在の文章で、英単語の両端に半角空白を挿入したいのですが
いい方法ありますか?
クォート等の記号で囲むなら、サラウンド使って viwS" で出来ますが
空白文字では囲めないようです
106100
垢版 |
2018/07/11(水) 23:29:11.63
>>102-104
返信ありがとうございます。

cWでいけますね!

お二方、どうもありがとうございました。
2018/07/12(木) 01:43:49.87
>>105
%s/([a-zA-Z]+)/ \1 /g
英単語が行末にあると行末にも空白は入っちゃうけどそこは
%s/ +$//g
とか?
置換一回で解決できるのが思いつかない
108名無しさん@お腹いっぱい。
垢版 |
2018/07/13(金) 22:12:39.35
テキストエディター戦争は「Vim」がまた一歩リードか、Webブラウザーで動作可能に
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1131850.html
2018/07/14(土) 22:53:53.32
ていうかエディタ戦争って言うて戦争じゃないよね。
2018/07/14(土) 22:58:46.57
ユーザが闘うんだ。
2018/07/15(日) 00:11:14.68
あの戦争で一体どれだけのユーザーが死んだことか…
2018/07/15(日) 01:35:04.82
勝ち馬のVimに乗ったおかげで今の俺がある
2018/07/15(日) 13:31:54.00
勝ち組っていうか少なくともメンテナンスされてるという点は大きいよね
いくら便利でも2000年代前半に更新が止まってるようなソフトウェアはちょっと……。
2018/07/15(日) 13:38:52.39
>>113
> 2000年代前半に更新が止まってるようなソフトウェア

どれ?
2018/07/15(日) 13:42:14.91
テキストの文字コードを指定して読み直す時コマンドって
:e ++enc=〜 だけど、fencじゃなくてencなのが謎だね
2018/07/15(日) 13:48:00.68
slackwareなんか2003年で止まってるelvisを未だに使ってる
As elvis is Slackware's default vi, this is a required package.
2018/07/15(日) 13:58:34.50
viユーザーが世界大戦で死闘を繰り広げている中、>>113はVZ Editorと戦っていたなんて…
2018/07/15(日) 14:17:14.91
vim対emacs戦争で勝利したvimだが、次はneovimと戦うことになるだろう。
neovimの一部にはvimの血が流れているけど
コードからは余計な古いマシンとの互換性のためのコードが削除され
メンテナンスしやすいよう改良され
新しいプラグインアーキテクチャが導入されている。
neovimが勝利しvimが過去のものとなってしまうのか!?
このゴジラ対メカゴジラのような展開に乞うご期待!
2018/07/15(日) 14:26:46.37
naovimってどうなった?
2018/07/15(日) 14:38:12.84
neovimよりspacevimが覇権取ると思うわ
今の時代特殊な用途以外ではfishやらspacevim、spacemacsのような始めから整備された環境を使うのが合理的よ
2018/07/15(日) 14:56:29.28
>>120
大方賛同するけど,しかし挙げている具体例には反対する。
シェルやテキストエディタというものは(このスレの住人なら)毎日触るもの。
滅多に使わないものならともかく,毎日使うものは自分でチューニングしたほうがいいんでは?
と主張してる俺だが,OSカーネルのコンパイルオプションはデフォルトのままw
2018/07/15(日) 20:16:42.88
vimに負けたと言うよりもその他のエディタに食われただけだろうなemacsは

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

どうかよろしくおねがいします
2018/07/19(木) 10:59:22.55
age、コテハン、質問の程度の低さ
ムカつく要素ここまで全開なのも珍しい
2018/07/19(木) 11:03:10.15
それおまえだけや
2018/07/19(木) 11:03:54.08
>>125
:verbose set
↑これで大分復活できるぜ
129名無しさん@お腹いっぱい。
垢版 |
2018/07/19(木) 11:35:09.29
verbosefileを設定してれば楽だったかもな
どうせしてないだろうがw
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")
2018/07/19(木) 21:56:20.21
なんかそのものズバリのコマンドがあったような…と思って調べた。これだ
:mkvimrc
2018/07/19(木) 22:39:33.35
>>131
すげえ!
初めて知った!!
vim最強すぎひん?
2018/07/21(土) 05:14:24.11
>>131
これだとシンタックスとかファイルタイププラグインとかが再現されねーな。
2018/07/21(土) 21:18:31.95
モード切り替えって日本語入力とすこぶる相性悪いと思うんだけどそうでもないのか
挿入モードにしようとして「い」になる事故とか
2018/07/21(土) 22:08:24.16
日本語入力終えたらすぐに英数に戻すくせ付けたらおk
2018/07/21(土) 22:11:10.00
nnoremap い i
とか?
2018/07/21(土) 23:23:07.73
uim-skkだけど、設定で挿入モードを抜けるときに自動的に英数に戻るので、
実はそれほど影響はないが、他のIMだとどうなのかな?
2018/07/22(日) 00:50:12.32
mozcで英数に戻す設定あったけどうまく動作しないんで戻した
2018/07/22(日) 15:19:39.36
>>136
日本語モードのときは「い」の後にエンターを押さないとまだ確定したしないと思うんだけど、それでもいけるかな?
2018/07/23(月) 04:43:51.48
>>139
すまん。SKKだとあれで行けるので他でも大丈夫と思っていたが
mozcだと無理だな。エンターキー押さないと機能しない。
忘れてくれ。
141名無しさん@お腹いっぱい。
垢版 |
2018/07/24(火) 13:42:43.22
指定文字数を置き換えたい時のコマンドは何かありますか?

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

ドット(.)はファイルタイプによって単語区切りが変わりますのであくまで例題です。
2018/07/24(火) 13:57:27.35
つc7l
自分なら置換するけど…
2018/07/24(火) 14:32:51.12
7sとかc2t.
144名無しさん@お腹いっぱい。
垢版 |
2018/07/24(火) 15:24:55.81
>>142,143
ありがとうございます。

後出し情報ですみませんが、
/AAA.BBB
で検索し、nで確認しながら置換していきたいなーと思いました。
2018/07/24(火) 16:10:49.99
それなら:%s/変換前/変換後/gcとか?
146名無しさん@お腹いっぱい。
垢版 |
2018/07/24(火) 16:19:46.18
お、それいいかもです。
cオプションで対象パターンに飛びながらy/nで置換出来るんですね。
nextキーを押さなくていいし楽かも。

ちなみに置換は
shift+vで選択→:s//
:1,$s//
のどちらかしか使ってなかったです。

%sは今の行から下を検索し、終わったらファイル先頭から検索。
の動きですかね。
2018/07/24(火) 18:25:11.44
たしかこのスレで誰かが教えてくれたと思うのだけど、パス認識文字列から"="を除外するのってどうするんだっけ?
2018/07/24(火) 19:01:23.57
isfname
2018/07/24(火) 19:30:31.52
ありがとウサギ
2018/07/25(水) 04:41:19.69
後は文字の上でR押せば直接上書きもできるな
ノーマルモードのuはアンドゥだけどヴィジュアルモードのuは小文字変換とか覚えるのきついわ
ただでさえ文字の大小で意味変わるのにモードの状態によって同じキーでも意味変わるとかさぁ
151名無しさん@お腹いっぱい。
垢版 |
2018/07/26(木) 00:31:54.42
>>150
いやいやw
じゃあjキーとかはインサートモードでも下方向に行くようにすればいいのかよw
なんでVimがモードという概念を持っていて、なぜそれが支持されているのか、無い知恵絞って考えなw
2018/07/28(土) 02:08:31.40
viはマウスやカーソールキーがなくて通信も低速な時代に作られたものだけど急にどうした
153名無しさん@お腹いっぱい。
垢版 |
2018/07/29(日) 00:20:18.04
普段からvim使ってるやつって秀丸とかサクラエディタか使えないの?
カーソルキーの移動がh,j,k,lで染み付いていて、不便感じたりしない?
しないのであれば秀丸からvimに乗り換えようと思うんだけど
2018/07/29(日) 00:32:27.10
>>153
秀丸使ってる人はそのままでいーよ
2018/07/29(日) 04:49:30.21
>>154
WindowsでもVIM使うメリットってあるの?
UNIXだとターミナルからインストールもせず起動出来るから使いたいけど
2018/07/29(日) 05:37:02.08
viだろうがemacsだろうが末期患者はいるものよ
ブラウザをviバインドにしたりCapsをCtrlにしたり
カーソルキーがあってもhjklにこだわる天邪鬼とか
本人がそれしか受け付けない体になったのならしょうがないさ
2018/07/29(日) 08:00:53.67
エディタはvimキーバインド、シェルはemacsキーバインドにしておくと、大体の環境に適応できると思う
readline系のライブラリを使ってるツールはemacsキーバインドを使えるし、vimのインサートモードでも一部のemacsキーバインドが使える(´・ω・`)
2018/07/29(日) 08:03:33.62
>>155
WindowsであえてVimを使うメリットはある
俺はこんな難しいエディタを普段使いしているスーパーマンなんですというアピールができることだ
「こいつは大物だ」という印象を周囲に植え付けることは、人間関係の構築上重要だ
2018/07/29(日) 08:06:47.32
vimは難しくないよ
160名無しさん@お腹いっぱい。
垢版 |
2018/07/29(日) 08:24:07.46
>>153
不便に思うならわざわざ乗り換える必要なくない?

そもそもあなた自信が不便だと思ってんのに、俺らが不便だと思わないなら乗り換えようなんて思うのかな?

そのまま秀丸使った方が良いと思うよ。
161名無しさん@お腹いっぱい。
垢版 |
2018/07/29(日) 08:26:58.03
>>153
>普段からvim使ってるやつって秀丸とかサクラエディタか使えないの?

使えないかどうかは知らんが、一度vimに慣れてvimの生産性に納得したら、他のエディタなんて興味ない。
162名無しさん@お腹いっぱい。
垢版 |
2018/07/29(日) 08:59:21.89
秀丸とかさくらエディタって何が便利なの
2018/07/29(日) 10:29:48.62
>>159
慣れた人にはね
Vimを初めて起動した人は、テキストが入力できなくて
あれこれ叩いてるうちになぜか入力できるようになって
さて終了しようとしたら終了方法がわからなくて
やむなくタスクマネージャから強制終了という散々な目に遭って逃げていく
2018/07/29(日) 10:31:01.82
一般人でも過不足なく使えるテキストエディタってだけだからあまり気にするな
そんな俺はMery派
2018/07/29(日) 11:12:31.02
>>164
Mery良いよね!
166名無しさん@お腹いっぱい。
垢版 |
2018/07/29(日) 16:17:34.79
>>163
windowsのvimってよく分かってないけど
ちゃんとこの表示出るみたいじゃん
http://www.not-enough.org/abe/manual/mel-ad05/gvim-window.png

それに終了したけりゃxボタン押せばいいだけじゃないの?
2018/07/29(日) 22:21:32.78
vim以外使い気は無いけど、以前は秀丸使ったことあるよ
秀丸のマクロにも助けられたよ、正規表現でgrep初めて使ったのも秀丸
色々な作業をしていく内にlinuxとか触って、vimまんせーになったわ
2018/07/29(日) 23:16:37.77
サクラと併用でvimはコンソールの中での使用がほとんど

作業の文脈ってコンソールでの方が追いやすいからかな
2018/07/30(月) 08:51:45.38
>>159
vimが簡単ってのはただの幻想だろう
実際は単に自分が覚えたってだけだ
初心に返らないから勘違いされるが
2018/07/30(月) 12:47:07.35
「難しくない==簡単」という思考回路がよく分からん
2018/07/30(月) 22:32:44.69
論理演算が苦手なのだな
2018/07/31(火) 00:48:31.96
lonely演算子
2018/07/31(火) 02:27:47.49
利便性が分かるのは理解した奴だけだって極単純な話では?
パソコンやスマホもずぶの初心者からしたら意味不明だしそれは中身がWindowsだろうがLinuxだろうが変わらん
2018/08/01(水) 11:43:44.34
お前らってEmacsは使ってるのか?
エディタは適材適所だと言っても使ってないからあっちの利点が俺には分からん
この界隈を生業にしてない俺でもvimの凄さは分かるが
伊達に骨董品を使ってる訳じゃないのな
2018/08/01(水) 12:47:57.51
エディタに偽装したOSらしいということしか知らん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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