vim Part 6©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
2015/01/13(火) 13:05:45.21ID:JwnBl2Yv0
主にWindows環境でのVimについてのスレッドです。

本家: http://www.vim.org/
Windows版バイナリ配布: http://www.kaoriya.net/
vim-jp: http://vim-jp.org/
VimWiki: http://vimwiki.net/
ctags 日本語対応版: http://hp.vector.co.jp/authors/VA025040/

名無しのVIM使い(スクリプト) http://nanasi.jp
spanish passion Linux(全オプション) http://www15.ocn.ne.jp/~tusr/
ずんWiki http://www.kawaz.jp/pukiwiki/?vim

関連リンク
UNIX板 Vim Part22: http://peace.2ch.net/test/read.cgi/unix/1365071542/
MacVim 再び: http://anago.2ch.net/test/read.cgi/mac/1133534694/
前スレ vim Part 5: http://anago.2ch.net/test/read.cgi/software/1379912425/
2018/11/03(土) 13:33:53.56ID:6YsUOUsx0
>>837
>>838
どうもありがとうございます!
2018/12/14(金) 10:39:55.81ID:zMl2kJLu0
コマンドラインモードで範囲内の文字列の切り取りとペーストを一度に行いたいです。

例えば

:3,7何とか

とすると、「3行目から7行目までが削除され、かつカーソル位置にペースト」
できれば嬉しいのですが、方法は有るでしょうか?
削除が必要なければ t を使えばいいのですが。

vim のデフォルトの機能でお願いします。
2018/12/14(金) 12:29:42.87ID:B0f9aqYl0
>>840
3,7m.
でいいじゃん?
2018/12/15(土) 10:09:00.39ID:4tb1HDfG0
>>840
何をしたいのかいまいちよくわからん
2018/12/15(土) 15:04:27.04ID:AxYvfncu0
>>841
できました。
ありがとうございました。

>>842
まさに >>841 で実現できることです。


ところで、こういう t や m などの他に
コマンドラインモード内で使えるもので何があるか調べたいのですが、
ググり方あるいはヘルプの出し方が分かりません。

ググっても、便利な機能やテクニックとして一部は載っていますが、
一覧表は無いのでしょうか?
2018/12/15(土) 22:36:26.33ID:9ZzBDxpT0
>>843
:h :index
exコマンド数600個近くあるけどな!
2018/12/16(日) 02:50:07.86ID:xKmt6fWU0
vimはシェルみたいに入力補完できるから:hの後にTab連打すれば一応コマンド一覧は出せる
:h hならh開始、、:h wqならwq関連、:h CTならCtrl関連と頭出しもできる
同じ操作系列の抽出?知らない子ですね・・・
2018/12/18(火) 20:16:40.07ID:DRwmVV950
>>844 >>845
ありがとうございます。
尋常じゃない多さですね。
2018/12/18(火) 23:59:08.33ID:NAmpspOE0
vimのコマンドは大量だけどちょっと覚えればいいのがいい
込み入った作業だと結局ググらにゃならんが
2018/12/21(金) 05:55:00.21ID:lWCbnvA90
検索とか置換とか基本機能のショートカットくらい表示しても罰は当たらないのでは?
nanoは色々残念だし
2018/12/21(金) 14:42:13.65ID:h/mR4SV10
エディタにあまり多くを求めない生き方もありだよ
本当はnanoで十分な人多いんじゃないの
2018/12/21(金) 15:08:37.62ID:YJfLHrrZ0
それでもvimを使いたいんだ!
だって便利だしかっこいいだろ?(感情論)
2018/12/21(金) 19:24:43.77ID:CSY4Z1BT0
>>848
vim-cheatsheet を使ってみるとか
2018/12/23(日) 05:10:49.76ID:FYLXtOl40
マクロやマークは何それ状態だな
レジスタ操作もクリップボードと共有してclipman使ってるしな
なまじ独自のクリップボードを持ってるからvim以外でコピペ出来ないとか初見殺しも大概にせえよ
853名無しさん@お腹いっぱい。
垢版 |
2018/12/24(月) 10:23:18.37ID:ohIff08a0
確かに初めてコピーしようとしたときは困った
2019/01/14(月) 23:56:36.81ID:mpbj/udC0
4kディスプレイにしてwindows10でスケーリングしたら
日本語フォントが重なって表示されるようになってしまった
どこの設定変えたらいいのかわからない
2019/01/21(月) 13:52:53.56ID:O0jjdPU70
スケーリングを100に戻して4kを捨てて無意味さをレビューで広める
Windowsのスケーリングを100以上にして使うと色んなソフトでレイアウトが崩れる
UIは100で作ってる人が多いので考慮してないからだろう、Winのスケーリング自体がヘボなのもある
2019/01/22(火) 01:16:07.56ID:/cE/cHLW0
いろいろやってたらいつの間にかちゃんと表示されるようになった
何が違うのかわからんけど面倒だからもういいや
vimに限らずwindowsのスケーリングほんとくそだわ
857名無しさん@お腹いっぱい。
垢版 |
2019/01/22(火) 15:47:25.06ID:DLAlBnE+0
分かったのでツイッターにでも書いてください
858名無しさん@お腹いっぱい。
垢版 |
2019/01/24(木) 07:28:56.28ID:1nHG9+Vp0
使い始めて3ヶ月くらいの初心者です。
ゆっくりではありますが、テキストオブジェクト?の扱いにもようやく慣れてきて、他のエディタで編集するよりはサクサクと動かせるようにはなってきた状態です。

今の所プラグインは一切手を出していない状態なのですが、「これはほぼ必須」というような定番のプラグインなどはあるのでしょうか。
言語などにもよるとは思うのですが、汎用的で、いろんな言語で扱えるような、便利な定番プラグイン等がありましたら、ぜひ教えていただきたいです。
2019/01/24(木) 08:43:54.83ID:4N9xPpDc0
>>858
やめとけ
今困っていることがあってそれが何のデメリットもなしに
解決できる夢のようなプラグインがあると知った時にのみ検討すべき
いじればいじるほど汎用性がなくなり動作が怪しくなり煩わしくなっていくのがエディタというもの
2019/01/24(木) 08:57:03.38ID:y7ZLx/tW0
>>858
vim-surround
括弧で囲むオペレータを追加する。これだけはなぜ本体に同等の機能がないのか不思議に思うレベル
861858
垢版 |
2019/01/24(木) 09:43:34.64ID:1nHG9+Vp0
>>859
なるほどー。確かに今特別に困っていることは無いです。
最初の目標として、プラグイン無しの状態である程度使いこなせるようになったら、何か導入しようと考えていたのですが、
考え方としては間違っていなかったようで安心しました。ありがとうございます。
vimについて調べていると、入門向けの記事と銘打っていても、プラグインを入れているという記事が結構出てくるので、
最初から使ってしまうとvim本体の機能なのか、プラグインの機能なのか分からなくなるのではないかと、疑問に思っていました。

>>860
調べてみた感じだと、確かにこれはデフォルトであってもよさそうな便利な機能ですね。
言語等選ばず使えるプラグインだと思いますので導入させていただきます。

ひとまず>>860さんのプラグインのみ導入して、もう少し基礎的な部分も含めてしっかりと使いこなせるようになりたいと思います。
お二方ともありがとうございました。
また何かありましたら質問させてください。
2019/01/24(木) 09:57:40.34ID:XKa/Jhpi0
>>861
プラグインを管理するプラグインは遅かれ早かれ通る道だから入れてもいいんじゃね
vim8標準の使ってもいいけど
自分はこれ使ってる
https://github.com/junegunn/vim-plug/
863858
垢版 |
2019/01/24(木) 10:04:56.28ID:1nHG9+Vp0
>>862
丁度surround-vimを手動で導入し終わってしまったところで、
URLのREADMEのgifを見て驚きました。大量に導入する人はこういうプラグインで導入や管理をする感じなんですね。
vim8自体にもこういう管理機能があるというのも初めて知りました。調べてみたいと思います。
勉強になりました。ありがとうございます。
2019/01/24(木) 20:58:05.75ID:OIN43BGk0
https://qiita.com/nil2/items/ddcf23f1163d0abd805b
この界隈っていつも数だけは一丁前だよな
プラグイン管理の設定自体が煩雑化する徹底っぷり
neobundle.vim
vimdoc-ja
vim-auto-save
vim-sensible
vsession
さして使わんからこの程度

後ヘルプの引き方も覚えるのが吉
.vimrcにこれを追記すればKを押した位置の文字でキーワード検索できるから
set keywordprg=:help
2019/01/25(金) 04:58:52.34ID:WhSa+BTj0
正確には
autocmd FileType vim,help setl keywordprg=:help
2019/01/25(金) 08:33:54.48ID:ZNxqC8k90
自分もいろいろプラグイン入れてきたけど、結局使うことが無くなりほとんど消した。
いま残っているのは tlist と自作のプラグインが数種。
2019/02/06(水) 20:17:44.80ID:26+uOqCH0
久しぶりにプラグインを入れようとすると、
自分がどのプラグイン管理を使ってたのか思い出せない
2019/02/11(月) 11:43:52.71ID:m0hk2mNF0
7.4から8.1にしたらちょっとフォントきれいになった気がする。
こんなことあるのか
2019/02/11(月) 12:45:21.92ID:3+paUQYl0
そのうちプラグイン管理プラグインを管理するプラグインが出てくるね
2019/02/11(月) 12:56:37.09ID:fMAwLOtz0
>>869
既存のプラグイン管理プラグインでもプラグイン管理プラグインを管理できると思うが
871名無しさん@お腹いっぱい。
垢版 |
2019/02/11(月) 14:09:38.84ID:nKT53pah0
既存のプラグイン管理プラグイン管理プラグインがおかしい時
プラグイン管理プラグイン管理プラグインを自力で修正して
プラグイン管理プラグインでアップデートすると
プラグイン管理プラグイン管理プラグインが元の木阿弥になってしまう
あんまり多段にしないほうがいい
872名無しさん@お腹いっぱい。
垢版 |
2019/02/11(月) 16:00:13.25ID:pnmSUMyl0
コールバック関数の括弧みたいにプラグイン管理するのやめてください
2019/02/11(月) 22:51:21.31ID:H+nPU+UX0
管理プラグイン1つ使って、細かいことしたくなったら自前の薄いラッパー書くのが楽
2019/02/11(月) 23:43:22.67ID:GOlwnBfh0
>>868
Windows版 gVim ならフォントレンダリング関連の改善入ってたと思うよ
フルカラー絵文字対応とかも
たしか日本の方々によるパッチだったはず
2019/02/12(火) 04:55:49.84ID:qxh7l1TJ0
snap flatpak appimage nix linuxbrew
考えたら汎用パッケージ管理からしてご覧の有り様だった
その内atoolみたいなの出そうだな
876名無しさん@お腹いっぱい。
垢版 |
2019/02/16(土) 02:07:12.12ID:J3WRfr3qO
Pluginフォルダにgit cloneしてきたのそのまま放り込めば動くんだから、重くて遅延ロードする必要性が無い人にはおすすめしない
2019/03/18(月) 04:05:58.23ID:nfn9Kjba0
Align.vim プラグインについて質問です。

2つ以上の異なる文字を同じセパレータとみなして Align することはできますか?

たとえば、

foo [ bar
, baz ]

この2行の文字列に対して、文字 '[' と 文字 ',' を同じセパラレータとみなして Align を施し、
2行目の',' の前に4文字分の空白を挿入して、'[' と ',' の位置を揃えたいです。
2019/03/18(月) 05:06:46.73ID:mCTfQR7t0
Align.vimは分からんけどvim-aligntaなら
Align -R ,\|[
879名無しさん@お腹いっぱい。
垢版 |
2019/03/18(月) 08:10:24.78ID:ZUpL1fiC0
>>877
空白区切りで複数指定

:Align [ ,

正規表現として解釈されるので
:Align [[,]
とかでもok
2019/03/19(火) 14:44:20.88ID:WjiU/kh40
>>878
同カテゴリのプラグイン候補として検討してみます。

>>879
できました。
エスケープしなくても良いのですね。

ありがとうございました。
2019/03/20(水) 09:11:50.14ID:AhYDCE6/0
矩形選択でGで一番下かggで一番上の行まで選択するとき一番左にカーソル飛んでしまうですが何かいい方法ないですかね
882名無しさん@お腹いっぱい。
垢版 |
2019/03/20(水) 09:42:57.61ID:38uSpGf90
>>881
set nostartofline
2019/04/19(金) 11:17:14.68ID:RnMAkgwq0
MSYSでは
finddir('Windows', '/c/Users;') " -> '/c/Windows'
finddir('Windows/..', '/c/Users;') " -> '/c'
win32では
finddir('Windows', 'C:\Users;') " -> 'C:\Windows'
finddir('Windows\..', 'C:\Users;') " -> 'C:\Users' なんで、'C:\'になるはずじゃないの?

win32のvimがおかしいのか自分の解釈が間違ってるのか
きっかけはvim-lspのroot_uriの設定でよくある'.git/..'を探すというもの
2019/06/14(金) 21:41:07.49ID:BuP/0kD20
質問失礼します
置換ABCD....を一括でやるのって↓しかないですか?
[vim] vimで複数の置換コマンドを一括で行う - 綾小路龍之介の素人思考 http://za.toypark.in/html/2010/02-22.html
.shみたいに書いといて使いたいときに呼び出して実行って出来ないですか?

他のエディタ(Mery)使ってた頃の置換整形マクロ.jsを移植したいんだけどvimの作法が分からないのでどこにどうしたらいいのやら……
2019/06/14(金) 22:01:32.07ID:XYVRmOqL0
vimrcあたりに関数定義しといて呼び出せばいいのでは?
2019/06/14(金) 22:06:19.33ID:PTAFofBY0
$HOME/.vimrc に書けばどこでも呼び出せる

function! Substitute()
s/foo/bar/
endfunction

:call Substitute()

Vim script はクセあるけど色々できるよ
:h func とかで Vim のヘルプ引くか、GitHub とかで人の vimrc 見ると良い
2019/06/14(金) 22:34:59.45ID:BuP/0kD20
>>886
サンクスです!わかる範囲で取り敢えず試してみます

>>885
>>886のことですかね
2019/06/15(土) 06:22:35.52ID:ods3+3Hj0
>>887
そう、まさにこれ
2019/06/15(土) 06:41:41.32ID:ods3+3Hj0
Vimのお作法がわからないのだからとりあえず「vim 作法」でググればvimrcでいろいろできることがわかる
置換というキーワードもわかっているので「vimrc 置換」でググればやり方もだいたいわかる
って感じでググれるといいね
2019/07/12(金) 00:35:02.13ID:MrC+N9Gj0
ヘルプと言っても所詮は知ってるコマンドしか引けないからな
逆引きがある訳じゃないしし
set keywordprg=:helpがあると多少楽になるよ
カーソル下の文字列で直接helpを開くKが有効になるから検索の手間が減る
ぶっちゃけvimtutorよりこっちを先に教えて欲しかったわ
拡張正規表現のnnoremap / /\vもあるといい
初期状態だとクリップボードも使えないし秘伝のタレ作りは丹精込めなきゃな
2019/08/07(水) 10:59:10.94ID:mN72oe9A0
最近USキーボードに変えたんだけど微妙に使いにくい
まあ基本的には慣れの問題なんだけど:がなれる気がしない
:を入力するのにshiftを押さないといけないけど:の次に打つ文字が大文字になってしまう
:と;を入れ替えればいいんだけどあまり変えたくない
2019/08/07(水) 11:11:49.74ID:mN72oe9A0
ググったら外人も:と;入れ替える人いるっぽいからやっぱり入れ替えるかな
他にUSキーボード使う上でオススメあったら教えてください
2019/08/07(水) 12:02:38.89ID:pu/F4KGG0
俺は入れ換えてるわ
他にはもしノーマルモードの , 使わないならそれに割り当てるとか
2019/08/07(水) 20:32:57.36ID:CeV2pue+0
俺も入れ替えてるけど、f/tを使う際いつも間違う
2019/08/07(水) 21:56:36.35ID:68815lwk0
f/t の時って operator モードだっけ?
それなら、 onoremap してたら解決したりする?
2019/08/10(土) 14:32:58.51ID:0sH0EjP70
https://www.tapwithus.cpm
これで快適にvimれたら最高
片手専用っぽいけど、むしろ両手で使いたい
2019/08/30(金) 02:54:47.67ID:ptP8hFtf0
Category:Vim Script
http://rosettacode.org/wiki/Category:Vim_Script
2019/08/30(金) 03:00:03.57ID:ptP8hFtf0
Category:Programming Languages
http://rosettacode.org/wiki/Category:Programming_Languages
2019/10/22(火) 21:52:12.07ID:9gu5V+Zr0
中距離の移動で5k5k5k,5j5j5jとやってみたけどめんどい
素のVimでのおすすめの方法おしえてくだしあ
2019/10/22(火) 22:12:44.02ID:1W/zWUAu0
15k,15j
2019/10/22(火) 22:16:13.05ID:cHz+V3S+0
ctrl-d
それか } を ctrl-j とかに map してみる
2019/10/22(火) 22:22:14.35ID:seRxsxmR0
EasyMotionじゃダメなんか?
2019/10/22(火) 22:22:50.21ID:seRxsxmR0
あ、素かゴメン
2019/10/22(火) 23:00:15.41ID:Ar8j0uv+0
>>899
素だと {, } とか (, ) はよく使うけど文書の構造によるからなあ
あとは / で検索して移動とか
2019/10/23(水) 10:09:28.45ID:+fyZKoNz0
H, M , Lでそれぞれ画面上、中、下移動
覚えてないけど列の中央にカーソル持ってくるのもあったよな
2019/10/23(水) 12:10:28.03ID:Dudkmbl+0
Ctrl + h,j,k,lに5h,5j,5k,5l割り当ててる
2019/10/23(水) 18:15:58.73ID:Jp+j1AOG0
なんてもったいない……
2019/10/25(金) 07:53:29.85ID:MVw+zBsa0
Ctrl+d, Ctrl+u で半画面スクロール。
自分はよく使う。
909名無しさん@お腹いっぱい。
垢版 |
2019/11/06(水) 23:12:52.22ID:oOcVt1P70
なんか最近、GUIだと自分が必要としてるのはVimよりもVimの操作インターフェイスな気がしてきた
GVimとVSCode使ってる
2019/11/23(土) 08:59:28.36ID:M1B9iMf20
最近の vim のソースにうまく migemo パッチ充てられなくなったな
まだ kaoriya-patches 更新されないかな
2019/12/08(日) 12:48:52.87ID:kpxyCjAj0
行番号と、相対行数を同時に表示する方法はありますか。

set relativenumber で相対行数を表示させたとき、
カーソルのある行のみは0の代わりにその行番号が表示されますが、
全行に渡って両者が併記された状態にしたいという意味です。
2019/12/08(日) 12:54:35.67ID:WwYRfKDU0
両方表示は無いんじゃないかなあ
2019/12/08(日) 23:27:55.61ID:uqh1DUg/0
emacs ならそれに近いことができるが
2019/12/09(月) 20:44:18.49ID:q7//JxsY0
>>912
>>913
やはり無理でしたか。
ありがとうございました。
2020/04/15(水) 17:53:02.67ID:tR72cn230
設定項目がかつてのAUTOEXEC.BAT、CONFIG.SYSと同様、キーボードで設定の命令文を書き込まないと設定できない。

昔のコンピュータは、MS-DOSのようにキーボードで魔法の呪文のような命令文を打ち込まないと、
ファイルの構成を見たり、コピーしたりすることができなかった。

たった1文字間違えただけでも、「コマンドまたはファイル名が違います」というそっけないエラーメッセージが出るだけ。

確かに、訳のわからない文章を入力して、1文字でも間違えれば効果がない、設定できないと言うことはまさしく呪文でしょう。
2020/04/15(水) 17:56:56.44ID:tR72cn230
MS-DOS、命令文入力で操作するシステムを使わなければならない人は、
一生懸命に命令文を覚えなければならない。

この命令文入力で操作するシステム、CUIをアイコンやマウスなどで視覚的に操作できるようにしたのが、
WindowsなどにおけるGUI、グラフィカルユーザーインターフェースである。
2020/04/15(水) 19:16:26.88ID:3ZCwAG2Z0
GUI の歴史のことを言っているんだとすれば
Smalltalk80 が初期のものだし
80年代中ごろのMac、Xwindowを忘れるわけにはいかない
Windowsが出てくるのはその後
2020/04/17(金) 23:09:17.77ID:9Oq7gZQp0
普段はrelativenumber、コマンドモードはnorelativenumberにしたいんだけどいい方法ない?
2020/04/17(金) 23:57:56.52ID:BDLl86xF0
>>918
試してないのでわからんが CmdWinEnter と CmdWinLeave を使ってどうにかならんかな
2020/04/18(土) 12:21:34.12ID:YOIxjrjE0
>>919
CmdWinEnterはq:のほうみたい。でもおかげでCmdLineEnterを見つけられた。ありがとう
しかし↓だとコマンド抜けてから描画されるようでコマンドモード中の再描画がわからない
autocmd group CmdLineEnter * setlocal norelativenumber
2020/04/18(土) 13:03:25.91ID:YOIxjrjE0
できた!
autocmd group CmdLineEnter * call <SID>SetRelNum()
function s:SetRelNum()
setlocal norelativenumber
redraw
endfunction
autocmd vimrcAU CmdLineLeave * setlocal relativenumber
2020/04/18(土) 13:58:55.13ID:FmVVFwJO0
>>920
LineEnter の方だったか、、、何はともあれ無事にできたようで
2020/07/03(金) 10:38:15.00ID:SEHCPCLO0
tes
2020/09/24(木) 19:02:47.01ID:IdusoVYL0
いつの間にかversion 8.2になってた
2020/11/07(土) 20:29:20.04ID:/fD/cqh10
https://i.imgur.com/YCIMzxF.jpg
2020/11/11(水) 16:50:30.24ID:7eAHWz+30
試しにneovim on windows terminalしてみたらvimより軽い気がしたけどneovim-qtは起動に十秒くらい待つ…

windows向けのgvim的なの色々あるみたいだけどいいのありますかね
2021/01/02(土) 20:17:45.84ID:HtUaj6sq0
たんけい選択がよう分からん
2021/01/02(土) 20:25:46.77ID:3N8GkqZE0
クケイとお読み下さい
2021/01/02(土) 20:43:30.24ID:HtUaj6sq0
矩(ク)だったのか
2021/01/02(土) 20:44:24.20ID:0oIyFgCH0
ようわからんてどういうことかね
やり方がわからんのかなんなのか
2021/01/02(土) 20:48:15.27ID:cp9hpsxB0
俺も、初めは読みがわからんかったな。
2021/01/02(土) 20:49:32.25ID:3N8GkqZE0
俺は最初キョケイと思ってたからw
2021/01/02(土) 22:23:19.81ID:s2XGrS410
neovim-qtを一番高い完成度で仕上げてるのってどの酉ですか?
2021/01/03(日) 00:09:21.62ID:ZHVXHdzl0
neovimのWindows向けnightlyビルドが暫く出てなかったけどようやくビルドできるようになったんだな
2021/01/04(月) 12:31:20.33ID:ndTgshc30
最近 NeoVim のGUI どう?1年前に oni やら幾つか試したときはなんかモッサリしててすぐ止めちまったわ
936名無しさん@お腹いっぱい。
垢版 |
2021/01/21(木) 19:17:13.76ID:ovH1zU4l0
unix板のvimスレから来ました。

Windows版のvimって、上書き保存したとき、
NTFSの拡張属性消しちゃいますか?

WSL1で、win側のファイルを wsl 側で chmod 644 しても、
Windows側のvimで上書きすると chmod が 777 に戻ってしまう。
backupcopy=yes にはなっています。inode番号は変わってない。
同じことをメモ帳でやるとちゃんと保持される。
2021/01/21(木) 19:55:54.67ID:0uiaKPp+0
回答じゃないけど
GitBash と cygwin 間でも似た現象が起きたことがある
片方で 0644 に変更したあと、もう片方で確認すると
0755 のまま変わってないとか。

実態は 0755 のまま変わってないのに、WSL側が 0644 だと嘘ついてるとか?

あと、Windows OS のユーザーやグループの読み取り・書き込み権限の機能も
関係してる気がする

WSL のユーザーが、Windows OS 上でのフォルダの読み書き権限が
どうなっているのか確認してみては?
2021/01/21(木) 19:58:03.61ID:0uiaKPp+0
追伸
上のレスは vim 全く関係なく、コンソールのユーザーの読み書き権限の話です
レス数が900を超えています。1000を超えると表示できなくなるよ。