facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2015/01/13(火) 13:05:45.21
主に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/

ここまで見た
  • 656
  •  
  • 2017/12/03(日) 12:15:11.52
>>655
ごめんなさい、嘘をついていました。
まだ解決されていません。

矢印キーや Delete キーなどの挙動の仕組みは理解できました(つもり)。

そこで、set nocompatible を .vimrc に既述しましたが、症状は変わりません。
そもそも .vimrc が存在する時点で、デフォルトで nocompatible on のはずです。

仮想端末の方が悪いのかと、数種類試してみましたが、どの場合も同じ症状です。

vim のコンパイルオプションが関係しているのかと、vim --version で確認しましたが、
vi互換性やキーコードに関係していそうなオプションは見あたりませんでした。

もともと、矢印キーなどへ伸びる手を矯正しようと Nop に設定したので、
意図しない挙動であっても実質的には問題ないのですが、
やはり理由、原因は気になります。

vi互換性を切っても出るこの症状は何が原因なのでしょうか。

ここまで見た
  • 657
  • 629
  • 2017/12/04(月) 23:05:49.96
話がそれますが
Git for Windows も 260 を超えるパスは扱えませんでした
cygwin の git は扱えました

ここまで見た
  • 658
  •  
  • 2017/12/05(火) 20:30:18.38
新しいNightly入れたがDirectWrite爆速やん
Windows10になって以来GDIではフレーム落ちが鬱陶しかったが
DWではそれが無い分、快適に感じるわ

ここまで見た
  • 659
  •  
  • 2017/12/07(木) 07:09:54.28
2つのウィンドウへ開いていて、どちらにも行番号が表示されている状態です。

このとき、片方のウィンドウで :setlocal nonumber とすると、
そのウィンドウの行番号だけが非表示になります。

しかし、:setlocal ninumber ではなく :set nonumber としても
そのウィンドウの行番号だけが非表示になります。

number だけでなく、他のものでも同様です。
例えば wrap でも :set と :setlocal が同じ結果になります。

:set と :setlocal の違いは何でしょうか?

ここまで見た
  • 660
  •  
  • 2017/12/07(木) 07:25:04.93
その後 :new すると、、
:h local-options

ここまで見た
  • 661
  •  
  • 2017/12/08(金) 04:26:24.13
Laguage server protocol との連携は進んでいますか?

ここまで見た
  • 662
  •  
  • 2017/12/08(金) 07:14:52.21
>>660
ありがとうございます。

要するに、:set がすぐさま反映させるのはカレントに対してだけなのですね。
だからぱっと見では :setlocal との違いが分からなかった。
しかし両者の違いは新しくウィンドウやバッファを作った時に現れる。
なぜなら、それらは先ずはグローバルオプションで初期化されるから。

おかげさまで理解できました。

ここまで見た
  • 663
  •  
  • 2017/12/11(月) 12:13:19.39
windows10でgvimにdein.vimを導入してプラグインの管理をしようと考えています。
readmeと個人ブログの記事を参考にgithubのリポジトリからcloneし、_gvimrcにもあれこれ書きました。
call dein#install() を実行し、インストールが完了しました。
この時点で各プラグインの機能が使用できるようになりました。
しかし一度gvimを再起動するとそれらが使えなくなっていました。
あれこれ試した結果、call dein#update()を実行すれば使用できるようになることがわかりました。
試しにgvimrcにcall dein#update()を記述し、起動時にアップデートをかけるようにしてみましたが、思った通りにはなりませんでした。

起動直後からプラグインを使用できる状態にすることはできないものでしょうか?
できるなら、どうしたら良いでしょうか

ここまで見た
  • 664
  •  
  • 2017/12/13(水) 07:28:34.81
自己解決できました。
失礼しました。

ここまで見た
  • 665
  • 642
  • 2017/12/13(水) 22:16:49.36
>>664
どうやって自己解決したのか書いておくと、良い技術者になれるよ

ここまで見た
  • 666
  •  
  • 2017/12/14(木) 00:26:09.78
>>665
なんでここにわざわざ書くと良い技術者になれるのでしょうか?

ここまで見た
  • 667
  •  
  • 2017/12/14(木) 07:56:59.46
>>666
これをよめ
http://www.geocities.co.jp/SiliconValley/5656/

ここまで見た
  • 668
  •  
  • 2017/12/17(日) 09:57:19.09
Laguage server protocol との連携は進んでいないのですか?

ここまで見た
  • 669
  •  
  • 2017/12/17(日) 20:03:29.13
>>664
死ねゴミクズ

ここまで見た
  • 670
  •  
  • 2017/12/27(水) 20:19:06.27
「:view ファイルパス」とすればリードオンリーモードでそのファイルを開きますが、
バッファの内容を編集することはできます。

これをバッファの内容すら編集できなくする方法はありますか?
つまり閲覧やヤンクへのコピーなど、非破壊の操作しかできないようにしたいです。

ここまで見た
  • 671
  •  
  • 2017/12/27(水) 21:26:56.05
:h -M

ここまで見た
  • 672
  •  
  • 2017/12/28(木) 07:09:25.60
>>671
-M のヘルプを見ることで、modifireble オプションを off にすれば良いことが分かりました。
試したら、意図通りの状態になりました。

ありがとうございました。

ここまで見た
  • 673
  •  
  • 2018/01/03(水) 20:31:44.35
:behave mswin
とすると結構普通のエディタのように使えるね

Windows10 vim 8.0 gVimで試した限りだが、
ノーマルモード、インサートモード問わず、Shift+矢印キーで文字列選択や
Ctrl+Ins、Shift+Insでコビー貼り付けができる

ただし、Ctrl+C、Shift+Vはできなかった
貼り付けもインサートモードで何も選択していない状態だと問題ないが
何か選択した状態だと思わぬ所に貼り付けされてしまう
ノーマルモードだと何も選択していなくても同様の事象

でも使えそうだ

ここまで見た
  • 674
  •  
  • 2018/01/04(木) 02:56:37.99
>>673
VimがVimのキーアサインでない時点で使えないと思うのだが

ここまで見た
  • 675
  •  
  • 2018/01/04(木) 10:44:41.45
>>673
Creamは?Vim使う意味なくなるけどね。

ここまで見た
  • 676
  •  
  • 2018/01/05(金) 02:10:38.38
source $VIMRUNTIME/mswin.vim
も入れたら、Ctrl+C, Ctrl+Vも使えたよ。貼り付けも問題なかった
これなら使いやすいし、ノーマルモードもあるからVimらしさもあるね
gVim Easyはインサートモードしかないようだが

Creamはノーマルモードも使えるみたいだね
でもノーマルだと選択の開始はShit+矢印キーではなくなるのかな
ちょっと試してみよう

ここまで見た
  • 677
  • 629
  • 2018/01/13(土) 02:59:18.20
gx でURL を開くとき、?以降のパラメータが含まれないようです
?以降のパラメータを含めるような設定はありますか?

ここまで見た
  • 678
  •  
  • 2018/01/14(日) 20:20:15.18
netrwの話?
:set isfname+=63 "( '?' の10進表記 = 63)
でもグローバルなんだなこのオプション
viWgx とでもして開くほうがいいかもしらん

ここまで見た
  • 679
  •  
  • 2018/02/04(日) 22:09:26.73
vim 標準搭載のパッケージ管理について質問です。

.vim/pack 下にプラグインを置くことでそのプラグインを使えるようになりますが、
そのプラグインのドキュメントが読み込まれません。

たとえば、vim-surround というプラグインを .vim/pack/pack1/start/vim-surround に置くと、
vim を起動させるだけで surround プラグインが機能します。
しかし、:h surround コマンドを入力してもエラーになりヘルプが見れません。
.vim/pack/pack1/start/vim-surround/doc/surround.txt が存在するのにです。

pathogen を使っていた時は、.vim/bundle にプラグインを置けば、そのドキュメントも利用できたのですが。
標準搭載のパッケージ管理ではドキュメントまでは面倒を見てくれないのでしょうか。

ここまで見た
  • 680
  •  
  • 2018/02/05(月) 00:08:13.90
:helptags /path/to/surround.txt やったらいけるとか?

ここまで見た
  • 681
  •  
  • 2018/02/05(月) 11:28:34.02
Vim スクリプトできたのって1998年なのか

ここまで見た
  • 682
  •  
  • 2018/02/06(火) 08:06:00.46
久々にいいオプションを見つけた
set isfname-==
'=' をファイル名の一部として認識させない
これによって設定ファイルの中の
option=/path/to/file
のような局面で <C-x><C-f> 補完を使っていける

ここまで見た
  • 683
  •  
  • 2018/02/06(火) 20:28:09.23
>>680
:helptags .vim/pack/pack1/start/vim-surround
としてみましたが、ダメでした。
(surround.txt を引数に入れると、ディレクトリではないと怒られるので )

:set runtimeoath? とすると、そこには
.vim/pack/pack1/start/vim-surround
も含まれてるのですが...

ここまで見た
  • 684
  •  
  • 2018/02/06(火) 21:48:13.19
raspbianにインストールされている標準のvimを使うとC言語など拡張子に合わせてインデントや色分けするので便利でした。
Ubuntuでも同じようにしたいのですが、個別に機能をインスールのではなく補完機能を込み込みにしたvimのパッケージなどってあるんでしょうか?
あとRaspbianのvimはそれ用にカスタマイズされたものなんでしょうか?

ここまで見た
  • 685
  •  
  • 2018/02/06(火) 22:26:56.02
>>684
色んなプラグインとか設定とかが元々入ってる Vim のディストリはいくつかあるよ
spf13, Janus, SpaceVim あたりが有名どころだろうか
イチから自分で探すの面倒ならこういうのもアリなのかもしらん

ここまで見た
  • 686
  •  
  • 2018/02/07(水) 02:02:47.73
>>685
そうなんですね、疑問がスッキリしました。
オススメされたディストリを入れてみます。
ありがとう。

ここまで見た
  • 687
  •  
  • 2018/02/07(水) 05:05:49.75
Cのシンタックスハイライトやインデントくらいなら公式のVimに付いてくるはず
UbuntuにデフォルトインストールされているVimはtiny版だと思うから、huge版をインストールし直してやればいい。正確なパッケージ名までは知らんが公式リポにあるはず

ここまで見た
  • 688
  •  
  • 2018/02/07(水) 19:09:22.81
Ubuntu使っているならvim-gtk3を入れとけばいいんじゃないかと思う

ここまで見た
  • 689
  •  
  • 2018/02/07(水) 22:13:21.41
>>682
早速設定したいいね

ここまで見た
  • 690
  •  
  • 2018/02/07(水) 23:40:18.65
gtk3(huge)を入れたんだけど自動インデントされません。
tiny消したりしても変化なし、ハイライトはされてます。

ここまで見た
  • 691
  •  
  • 2018/02/08(木) 03:50:31.20
>>690
.vimrcにset cindentって書けば有効化できる
動作とか詳しくはググって

ここまで見た
  • 692
  •  
  • 2018/02/08(木) 04:12:40.57
>>691
cindentオプションはC言語のインデントプラグインで自動的に有効化(バッファローカル)されるので、普通は手動で :set することはない

>>690
vimrcを作成済みなら、その末尾に
filetype plugin indent on
の一行を追加して、いったんVimを終了してからC言語ファイルの編集を始めてみて

ここまで見た
  • 693
  •  
  • 2018/02/09(金) 14:59:51.70
>>692
Cでインデント効きました。
嬉しい!ありがとうございます。

ここまで見た
  • 694
  •  
  • 2018/02/15(木) 01:44:57.78
patch ファイルを開いている場合に、下記例でいうと src/foo.c にジャンプしたいです
単に gf とすると "a/" もパスの一部と解釈されてしまいジャンプできません

diff --git a/src/foo.c b/src/foo.c

今は泥臭いですが a にカーソルを持っていき xx <C-w> f で開いています
(単に xxgf だとバッファが保存されていなくて開けない)

isfname あたりで "a/" を無視するような設定や、
もう少し短いキーストロークで実現する方法はあるでしょうか

ここまで見た
  • 695
  •  
  • 2018/02/15(木) 22:07:38.62
https://github.com/kana/vim-gf-user

ここまで見た
  • 696
  • 694
  • 2018/02/16(金) 19:09:45.16
ありがとうございます
試してみます

ここまで見た
  • 697
  •  
  • 2018/02/17(土) 00:39:36.85
vim右下の行列表示で 7,105-71となっているとき
右の71は半角1,全角2として
左の105は半角1、全角3として計算しているようです。
UTF8なら左、Shift_JISなら右の数字を見ると1行のデータ量が分かるいいということであってますか?

ここまで見た
  • 698
  •  
  • 2018/03/01(木) 19:25:43.48
香り屋さんのを仕事で使ってるんだけど
ctrl-;はやっぱ割り当てられないよね
[キーが遠くて小指が痛いのんだけど、どのキーで妥協すべき?

ここまで見た
  • 699
  •  
  • 2018/03/01(木) 21:40:23.05
俺Ctrl+iだわ

ここまで見た
  • 700
  •  
  • 2018/03/02(金) 01:15:09.12
>>698
英語配列だとキーひとつ分左なんだよね、[って。

ここまで見た
  • 701
  •  
  • 2018/03/02(金) 01:16:26.83
>>699
タブ入力する時に使うから割当て変えるの凄いと思った

ここまで見た
  • 702
  •  
  • 2018/03/02(金) 02:56:04.11
>>701
タブ入力はC-v,Tabかな。あんま使わないから
基本プログラミングとかしない。メモ帳と小遣い帳

ここまで見た
  • 703
  •  
  • 2018/03/03(土) 21:45:46.26
linux で vim を使っています。

今、6行目の4列目にカーソルがあるとして、
2行目から4行目の範囲の文字列を外部コマンドに標準入力を通して送り、
コマンド処理において標準出力に出力された文字列をカーソルの位置に挿入したいです。

コマンドラインモードで
:2,4! コマンド
とすると、2行目から4行目が消され、2行目にコマンドが出力した文字列が挿入されます。

そうではなく、カーソルの位置に挿入したいのですが、可能でしょうか。

ここまで見た
  • 704
  • 694
  • 2018/04/23(月) 15:44:09.38
>695
遅レスですが、まんまやりたいことができました
ありがとうございました

ただ、当たり前ですが path から探すので
自分のフォルダ構成だと patch ファイルと同じディレクトリに遷移する必要がありました
そこで下記のマップをして改良してます

nnoremap ,gf :cd %:h<CR>:call gf#user#do("gf", "n")<CR>

ここまで見た
  • 705
  •  
  • 2018/05/12(土) 09:02:19.28
一文字ずつ間にデリミタを入れるように置換したい。

[例]
1749064 --> 1,7,4,9,0,6,4

正規表現を使って一発で置換できるだろうか?

:s/\v(\d)(\d)/\1,\2/g
これを2回適用すればできたけど、なんか不様。

ここまで見た
  • 706
  •  
  • 2018/05/12(土) 11:19:50.04
>>705
先読みで

:s/..\@=/&,/g

vimの先読みは \@= と書き、その直前の正規表現(この場合二つめの .)がその場所で一致するかどうかを見る
ちなみに & は一致した文字列全体

ここまで見た
  • 707
  •  
  • 2018/05/12(土) 12:09:06.89
>>705
試してないけどこれでもいけるかも
s/\d\ze\d/&,/g

砂時計アラームタイマー
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email