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/11/01(木) 16:11:13.75
そんなに違うかな?
うちプラグイン15個くらいしかないからわからないたけ?
2018/11/02(金) 16:32:37.50
ctrl-pとctrl-nは挙動をmapやnmapで変更できなかったりしますか?
2018/11/04(日) 20:23:42.81
>>592
使ってるVimのエディションが分からんので
なんとも答えずらいが できると思うが?
変更できなかったの?
nnoremapは試した?
2018/11/04(日) 22:02:25.07
たまにviminfo整理するけどソートせずに重複の履歴を消す方法教えろ下さい
2018/11/05(月) 00:31:38.38
まず服を脱ぎます
596名無しさん@お腹いっぱい。
垢版 |
2018/11/05(月) 08:52:10.17
履歴は重複しないはずだけどな

> - 以前と全く同じコマンドを打ち込んだときは、古い方の記録が消される (繰り返され
> たコマンドが古いコマンドの履歴を追い出して消すのを避けるため)。
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-history
2018/11/05(月) 10:28:46.76
>>594
sort2 ()
{
awk '!a[$0]++' $1
}

.bashrcにこれ登録してvimで範囲選択したら!sort2
順番を維持したままの重複削除って需要あると思うんだがなぜないのか
2018/11/05(月) 12:55:14.68
パソコン始めたばかりです

ヴィムってなんですか? メモ帳と同じなんでしょ?
2018/11/05(月) 13:24:55.21
>>598
YES
2018/11/05(月) 21:40:25.09
メモ帳のことです。
2018/11/05(月) 21:44:11.32
パソコン始めたばかりの人が5ちゃんのUNIX板のVimスレに来るわけないだろw
2018/11/05(月) 21:50:31.33
楽しいUNIXっていうパソコン初めての人向けの本でVimとEmacsの説明されてるよ
2018/11/06(火) 08:23:33.72
UNIX本で扱うのはviじゃないかしら
2018/11/06(火) 08:48:55.80
>>602
それパソコンじゃなくてUNIXが初めての人向けじゃないのか
2018/11/06(火) 10:26:23.44
Linux使いながらここに来たけど怒らないでね
2018/11/06(火) 11:20:46.42
>>604
ほっとけ
まともに話できる人間じゃないだろうから
2018/11/06(火) 12:16:39.84
1. .vimrc は cp932 を優先するよう設定しておく
set fileencodings=cp932,utf-8
2. 下記の 1行を UTF-8 で保存する (test.sh とする)
echo "番号"
3. VIM で test.sh を開く
4. cp932 と判定されてしまい文字化けする
質問:cp932 と utf-8 の順番を変えれば文字化けしませんが、順番を変えること無く文字化けしない方法はありますか?
2018/11/06(火) 12:31:03.39
" - *- coding: utf8 -*-
はきかないんだっけか
609名無しさん@お腹いっぱい。
垢版 |
2018/11/06(火) 12:31:46.01
# vim:fenc=utf-8
って書いておく
2018/11/06(火) 13:24:12.69
即レスありがとうございます
test.sh の 先頭に上の記述を入れても駄目でした
2018/11/06(火) 23:20:19.77
>>604
ログインとかパスワードとかメールとかテキストとかはじまるから本当にパソコン初心者向けだよ
古いけどマジでオススメ
綾ちんかわいい
2018/11/06(火) 23:20:49.13
>>603
viだったわ
2018/11/07(水) 06:45:36.01
UNIX入門書って必ずviの使い方買いてあるよなw
そろそろvimが欠陥品であることを認識してほしい。
614名無しさん@お腹いっぱい。
垢版 |
2018/11/07(水) 07:32:09.95
>>610
echo '# vim:fenc=utf-8' > file
echo "番号" >> file
2018/11/07(水) 07:34:40.79
>>489
neovimは問題ないんだよなあ
2018/11/07(水) 13:52:40.77
>>615
端末のエンコーディングはUTF-8でやった?
それでも見出しが広がったり欠落したりしない?
2018/11/07(水) 18:15:25.93
https://developers.srad.jp/story/17/05/25/0515242/
https://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor
技術系Q&Aサイト「Stack Overflow」に2012年8月に投稿された「How to exit the Vim editor?」という質問ページのページビューが、
100万を突破した(Stack Overflowの公式ブログ)。 このページでは「Vimが終了できない」という質問に対し、
Escキーを押し、続いて『:q』や『:q!』などを入力するという終了方法が親切に解説されている。
この記事は昨年Stack Overflowのページビュー全体の0.005%を稼いだそうで、平日のピーク時には一時間当たり80人が
このページを見ていることになるという。また、国別やメインのプログラミング言語別のアクセス統計も示されている。

そりゃこうなるくらいだし
2018/11/07(水) 20:52:12.21
つまり?
2018/11/07(水) 21:58:42.88
>>617
で?
2018/11/07(水) 22:17:27.09
たのしいUNIX買ってきたわ
cshだからその辺は参考にならないけどそれ以外はひと通り学べるな
621名無しさん@お腹いっぱい。
垢版 |
2018/11/07(水) 22:17:33.10
>>619
す?
2018/11/07(水) 22:40:50.64
UNIX OF DEATH
2018/11/07(水) 23:01:32.94
https://www.quora.com/What-happened-to-Unix-operating-systems-Has-Linux-killed-Unix
2018/11/07(水) 23:11:25.09
マジかよリーナス最低だな
2018/11/08(木) 01:05:45.52
ここ何のスレだっけ
2018/11/08(木) 02:02:54.30
BSD復興祈願じゃなかったっけか
2018/11/08(木) 13:24:33.00
BSDは悪魔崇拝だからな弾圧されて当然だ
2018/11/11(日) 06:35:12.27
拡張子ついてるファイルだと正しくインデントされるけどシェバンだけだとされない
どうすればいい?
2018/11/11(日) 09:19:24.03
自分でファイルタイプを指定するとかそういう事?
2018/11/11(日) 09:40:52.85
そんな感じ教えてくれ
2018/11/11(日) 16:33:24.80
自己解決した
2018/11/11(日) 22:27:45.89
その解決方法も教えてくれ
2018/11/11(日) 22:30:27.78
>>632
自己解決しろ
2018/11/11(日) 22:35:37.28
>>633
自己解決の手順よろ
2018/11/12(月) 17:51:46.13
.vimファイルで
au[tocmd] [group] {event} {pat} [nested] {cmd}
↑こういう命令を着色するときに[group]が設定されていても{event}を正しく着色してくれるようにしたいのですが
どういうsyntaxを書けばいいか分かりますか。

* syntaxファイルの置き場所や設定の仕方なんかは一通り把握してるつもりです。
2018/11/12(月) 18:35:15.23
自決しました
syntax match vimAutoCmdGroup contained "\w\+" skipwhite nextgroup=vimAutoEventList
syntax keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoCmdGroup,vimAutoEventList
highlight def link vimAutoCmdGroup vimVar
2018/11/12(月) 19:39:57.32
あ。これではだめです。
[group]を省略したときに{event}が[group]の構文強調になってしまいます。
2018/11/12(月) 20:00:03.16
すいません。どなたか
特定のハイライトグループを除いたmatchにマッチさせるsyntaxの書きかた知りませんか。
contains=ALLBUTでも近いことはできるんですがALLが含まれるせいで不正な構文も同じように見做されてしまいます。
ちょうど
syntax match XXX contained "\w\+" nocontains=YYY ...
↑こういう指定ができればいいのですが(\w\+という条件に当て嵌まる構文の内YYYグループに含まれるものは除外みたいな)……
639名無しさん@お腹いっぱい。
垢版 |
2018/11/12(月) 21:43:03.91
>>635-638
任意のグループ名に対応する方法は分からないな
グループ名を明示することで満足している
https://pastebin.com/Sa4y6LGx
2018/11/12(月) 22:12:28.66
>>639
おお! ありがとうございます。私の環境ではMyVimrcというグループ名を使っているので
ちょうど希望通りのことができました。感謝します。
2018/11/12(月) 23:31:59.61
すいません。635なんですけど もう一つ質問させてください……。
https://vim-jp.org/vimdoc-en/repeat.html#line-continuation
で続く行頭に\を用いて改行エスケープができるとあるのですが,
syntax keyword xxxXXX
\ kw1 kw2 kw3
↑こういった指定のときにkw1などがvimSynKeyRegionとしてハイライトされません。
syntax keyword xxxXXX kw1 kw2 kw3
という記法のときはきちんとハイライトされます。
2018/11/12(月) 23:36:04.41
"FILE:$VIMRUNTIME/syntax/vim.vim
syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
↑ハイライトされない原因はこのあたりだと思うんですけど 正直僕には手のつけようがない複雑さです……。
643名無しさん@お腹いっぱい。
垢版 |
2018/11/13(火) 01:40:31.60
>>641-642
うん、手のつけようがないので気にしないことにしてた

けど問題の箇所をその行だと特定してくれたのでなんとか出来たみたい

syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|\n\%(^[ \t]*\\\)\@!" contains=@vimSynKeyGroup
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|\n\%([ \t]*\\\)\@!" contains=@vimSynMtchGroup
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" end="|\|\n\%([ \t]*\\\)\@!" contains=@vimSynRegGroup

"oneline" を外し、
"end" の正規表現に含まれる「行末 $」を
「次の行頭に空白(0個以上)とバックスラッシュが存在しない改行 \n\%([ \t]*\\\)\@!」
に差し替え
vimSynKeyRegion のほか vimSynMatchRegion, vimSynRegion も同様に
644635
垢版 |
2018/11/13(火) 06:16:57.63
>>643
まじで まじで 感謝します。
いや〜やっぱり改行の後もしっかり配色されると気分がいいですねぇ。
お手間取っていただき ありがとうございました!
645635
垢版 |
2018/11/13(火) 06:21:56.83
>>643
あ,何度もすいません,一つ,言葉足らずみたいだったので補足しておきます。
>>639で「任意のグループ」とおっしゃっていましたが
そうではなくて,
https://vim-jp.org/vimdoc-ja/autocmd.html#:augroup
↑ここに
> 混乱を避けるため、既存の {event} の名前とは違
> う名前をつけるべきである。これはたいてい意図し
> ない動作を引き起こす。
とあることから,自動コマンドのグループ名はイベント名と被っていないという前提のもと,
「"\w\+"に一致しvimAutoEventキーワードと一致しない」グループを
vimAutoCmdGroupキーワードとして設定したかったのです。
尤もそんな複雑なことをしなくても「MyVimrc」固定で僕の目的は達成できたのですが。
646635
垢版 |
2018/11/13(火) 10:43:08.76
寒いのでそろそろ服着ますね。ありがとうございました。
2018/11/13(火) 11:51:55.61
aa/001.jpg
bbcc/001.jpg
これを
aa/aa001.jpg
bbcc/bbcc001.jpg

こうする方法教えろ下さい
面倒な手順で矩形貼り付けはできるようだけど長さがバラバラの場合はどうすりゃいいの
vidirで一括リネームしようと思って
2018/11/13(火) 12:51:39.72
>>647
:%s@^\(.*\)/@&\1@
2018/11/13(火) 16:10:00.48
>>648
トン
/前の文字列を/後に貼り付けって意味かな
正規表現で&使ったことないわ
2018/11/16(金) 21:39:11.24
例)「今日はいい天気ですね」→「いい天気」

vimで適当な1部分をコピーして、次の行に貼り付けたい場合って
ビジュアルモードにして、「いい天気」の部分を選択して「y」を押して、次の行で「p」を押せばいいのでしょうか?
選択した部分をコピーというコマンドが見つからないです・・・
2018/11/16(金) 21:49:59.32
言葉が足りなかった・・・

いつもこの方法でやってるのですが、たまにちゃんとペーストできなかったりするので
この方法で正しいのかなと疑問に思えて質問しました。
2018/11/17(土) 09:36:12.78
「いい天気」を選択してからyo<C-r>"
<C-r>"はCtrl+R
<C-r>"の効果については:help i_CTRL-R
2018/11/17(土) 10:05:27.57
コピペみすってた。以下に訂正
<C-r>はCtrl+R
2018/11/18(日) 21:54:34.33
レジスタの種類なんて意識したことないや
システム側とクリップボードが共有されればそれでいいからな
dの削除がただの切り取りなのが色々と惜しい
2018/11/18(日) 23:11:04.59
ヤンクしたのは0レジスタに入るから気にするのはそこだけ
2018/11/19(月) 07:53:24.75
>>650
v でビジュアルモードに入って、Y でヤンクすれば行としてヤンクされるよ。Y は大文字な。あとはふつうに p すればいい
2018/11/19(月) 20:53:19.68
ちゃんとペーストできないってのは多分切り取りとで別のデータがバッファに入ったものをpで呼び出してるんだろうな
2018/11/21(水) 17:36:15.68
複数行を矩形貼り付けする方法教えてくれ
foo1
foo2
事前にヤンクしたこの2行を
aa=_bar
bb=_bar
=と_の間に入れて
aa=foo1_bar
bb=foo2_bar
こうしたい

単にfoo1を貼り付けるなら矩形選択後にC-rと"でできるけどこれ複数行の場合はだめだよね
ついでに違う長さの行を貼り付ける場合にも対応してるといいんだけど
2018/11/21(水) 17:50:48.41
え? 普通にできね?
<C-v> →(foo1\nfoo2\nを選択)→ aa=...の=にカーソル → p
2018/11/21(水) 18:01:34.56
>>659
小細工なしでできるとか俺の苦労は一体
2018/11/22(木) 08:39:29.74
ありがとうございます。
2018/11/22(木) 14:35:43.45
vimで、:/hoo とかで検索したら行の先頭に飛びますが、検索した単語の場所に飛ぶ方法ってないです?
2018/11/22(木) 14:37:24.44
・・・すません。バカみたいな質問でした。n押せばいいだけですね・・・レスしたすぐ後に気づくアホさ・・・
2018/11/22(木) 16:49:21.80
:/hoo
これを知らなかった
直接/を打ってたけどこっちより:/こうした方がいい状況ってどういうとき?
2018/11/22(木) 20:20:20.30
>>664
テキストの先頭から検索したい時
:1/hooってやりますね
2018/11/22(木) 20:40:54.53
ちなみに最近のVimだと/fooを入力してる最中にも<C-t>で次の一致に飛べる
667名無しさん@お腹いっぱい。
垢版 |
2018/11/22(木) 22:51:49.28
iVim結構いいと思うんだけど使ってる人いるかな?
2018/11/23(金) 18:32:13.78
いらない
2018/11/25(日) 13:16:47.78
foo1
foo2
aa=_bar
bb=_bar
これってfooを行頭に貼ろうとaでpしたら
afoo1a=_bar
bfoo2b=_bar
1文字ずれてこうならない?
2018/11/25(日) 14:13:46.96
そういうときは取り敢えずキャピタルを試すのがvimの基本。
2018/11/25(日) 22:51:23.46
pじゃなくてPじゃイカんのかい?
2018/11/26(月) 10:25:37.69
vimの移動キーに全然慣れない。なんでj=左,k=下,i=上,l=右にしてくれなかったのか・・・
2018/11/26(月) 12:23:21.20
マップしたら?
2018/11/26(月) 14:04:01.15
マッピング変更は敗者の逃げ傷
2018/11/26(月) 15:18:47.42
確かにASDFじゃなくてHJKL採用なのも気になる
Jを下矢印だと考えたらやっと慣れてきたが
2018/11/26(月) 15:28:44.86
矢印キーで移動できるのになぜわざわざhjklで移動しようとする?
特に挿入モードでは矢印キーでしかできないのに
2018/11/26(月) 16:31:04.65
実践vim読めよ
2018/11/26(月) 18:01:27.47
挿入モードで矢印キー押してカーソル動かすより一旦ノーマルモードに戻ってhjklなりで動かす方が速いだろ
2018/11/26(月) 18:55:05.94
でも移動でhjklってほとんど使わないよね
2018/11/26(月) 19:02:27.47
単に理由を知りたいだけならこれでも読んだら?
https://dailynewsagency.com/2012/03/11/here-is-why-vim-uses-the-hjkl-keys-as-arrow-keys/
https://en.wikipedia.org/wiki/ADM-3A
vi開発時に使ってたADM-3AではCtrl+H,J,K,Lがカーソル移動に使われてただけのこと
2018/11/26(月) 19:34:18.79
>>678
俺はvi以外でもhjkl使ってるよ
慣れないとか言ってる人が何故文句言ってまで無理して使おうとしてるのかと書いただけ
2018/11/26(月) 19:57:19.62
@「超使うよ」
2018/11/26(月) 20:16:02.63
男なら
:(行数)→wで単語移動
2018/11/26(月) 20:16:48.11
d (主人、それ分かりづらいわ)
2018/11/26(月) 21:51:56.39
移動はとりあえず/ですよ
2018/11/26(月) 22:21:03.50
vimなんか絶対操作覚えきれねえと思ってたけど、使ってみると3日くらいで簡単になれるもんだよな。操作速度はともかく。
秀丸使っててもEscとか;を無意識に押してしまうw
2018/11/27(火) 11:39:34.73
hjkl(左/下/上/右)
行数+hjkl(3jで下三行)
HLM(カーソル上/下/中)
PageUp/PageDown(一画面上/下)
矢印キー上下左右

結局一般的なバインドの後者2つが最も安定するわ
一気に移動する時は100jみたいにやるが
2018/11/27(火) 12:22:02.73
ページ送りはCtrl+fb(半ページならud)の方が楽
自分は、Ctrl+fbで適当にページ送り→HMLでページ内ざっくり移動→hjklやwbなどで微調整、という感じ
2018/11/27(火) 12:29:01.21
ワイは修正が頻繁に必要な行は覚えてるから、セミコロンで直接移動してる。そのあとwで移動かな。
2018/11/27(火) 12:37:18.80
矢印は流石にホームポジションから遠過ぎる
2018/11/27(火) 12:44:38.63
そこらへんは片手だけで操作するか両手を常に固定して使うかで分かれるんだよね
ctrl+fbとか同時押しかつ両手とか片手操作からするとありえない割り当てだし
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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