vim Part 6©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>719,720
ありがとうございます。
720 の plugin が やりたいことっぽいので試してみます。 8.1のターミナルサポートってなんのこと?
:terminalとはまた違うターミナル? C-pでと入力補完ができるけどまさかC-x C-fでパス補完までできるとは
vimに標準でemacsじみた操作があるとか何この初見殺し Windows7でkaoriya版vimを使って言語の勉強をしています
普段は漢字入力をするとファイルの文字コードがcp932になっており
Windowsはそれで自然だと思うし不便なかったのですが
Go言語はutf-8のソースファイルでないとコンパイルが通らないため
「拡張子goのファイルを新規作成した時だけ自動でファイルエンコードが
utf-8になる」という設定をしたいです
どの設定ファイルをどういじれば実現できるでしょうか windowsはデフォルトだと %userprofile%\_vimfiles が設定ファイル
autocmd FileType go setlocal fileencoding=utf8 >>729
_vimrcファイルを作っていたのでそこにその通り追加したら_出来ました
ありがどうございます 「The VimL Primer」という本を読んでいるのですが、
その中に autoload/mpc/autoload/mpc.vim というディレクトリ構造が登場します。
autoload ディレクトリの下に更に autoload ディレクトリを置くのは無駄ですよね? vundle でプラグインをインストールすると、
.vim/bundle/<そのプラグイン名>/ftdetect
というように、ftdetect ディレクトリがこんな所に作られますが、
その中身を .vim/ftdetect ディレクトリにコピーしないと、これは機能しませんよね。
それとも、vundle の設定の一環として .vimrc に何か書く事で、
わざわざコピーしなくても機能させるようにするのが普通なのでしょうか。 Vundleが~/.vim/プラグイン名 をrtpに追加してくれるから普通はそのままで動くと思うけどなあ
他の設定とかプラグインでftdetectが上書きされてるとか? >>733
rtp変数にどのようなパスが設定されていようと、
.vim/ftdetect ディレクトリ内の *.vim ファイルしか読みとってくれないのですが、
これは異常なのですか?
そういうものだと思っていました。
.vimrc 設定ファイルを見直してみましたが、なにが悪さをしているのか見当がつきません。
プラグインも vundle を使って vim-mql5 と vim-surround の2つをインストールしているだけです。
ftdetect が上書き(?)されるような設定というのは、例えばどのようなものがあるでしょうか? >>734
例えばrtpに~/.vim/vundle/vim-mql5が入ってるなら、その下にある ftdetect/*.vim は読み込まれるはず。
:scriptnames しても vim-mql5 以下のファイルは出てこない?
ttps://github.com/rupurt/vim-mql5
をみると拡張子は .mqh か .mq5 の場合だけファイルタイプ設定するみたいだけど、そうなってるよね? 問題が解決しました。
アドバイスのおかげです。
filetype plugin indent on は vandle#end の後に書かないといけないのですね。
vubdle 導入時にどこかのブログから基本設定をコピペしてきて、
そこに後は入れたいプラグインをvundle#begin と vundle#end で挟んで書くだけとあったので、
そのままコピペした設定の後ろ (filetype plugin ... の後ろ) に追加していました。
vundle が何をやっているのかとか、filetype の仕組みとか、色々勉強になりました。 >>737
https://github.com/VundleVim/Vundle.vim
これのQuick Startの.vimrcのサンプルぐらいは読んでおくことをすすめる
Vundleで必要な設定がコメントされてる
それとVundleはもうメンテされてないから早いうちに別のプラグインに移行しておくと楽かも
https://github.com/junegunn/vim-plug
vim-plug はVundleと設定やコマンドが殆ど同じで、プラグインのアップデートを並列処理で行ってくれるために高速 >>738
ありがとうございます。
参考にさせていただきます。 filetype を学んだつもりでしたが、まだまだ未熟のようでした。
>>738 が薦めてくださった vim-plug を使ってみましたが、 また filetype 絡みで分からない事が出てきました。
~/.vim/plugged ディレクトリに vim-plug でインストールするプラグインを入れるとします。
それとは別に、~/.vim/foo ディレクトリに自作のテスト用プラグインを入れたいと思います。
そこで、~/.vim/foo/ftdetect/bar.vim に *.bar ファイルを開いた時に実行させたい処理を autocmd で書きました。
問題は .vimrc の書き方です。
set rtp+=~/.vim/foo
call plug#begin ('~/.vim/plugged')
...
call plug#end ()
というように、plug#end の前に rtp を追加しておくと、問題なく bar.vim が読み込まれます。
しかし、
call plug#begin ('~/.vim/plugged')
...
call plug#end ()
set rtp+=~/.vim/foo
というように、plug#end の後ろに置くと、bar.vim は読み込まれません。
同じ場所で rtp^=~/.vim/foo としてもだめだったので、rtp 内のパスの並び順の問題ではなさそうです。
なぜ後ろではだめなのでしょうか? 理屈が分かりません。 plug#end() の中で filetype plugin ... が実行されるから >>741
その理屈ですと、plug#end の後に、
set rtp+=~/.vim/foo
filetype on
とすれば、ちゃんと var.vim が読み込まれる筈ですが、ダメでした。
あと、今回の問題と関係あるか分かりませんが、
plug#end の後に filetype off としても、
vim を起動して :filetype とコマンドを入力すると、
filetype detection:ON plugin:ON indent:ON
とメッセージが出力されました。
もしかして、:filetype の設定は .vimrc の中では一度きりしかできないのでしょうか。 ソフトウェアデザイン7月号は Vim 特集だった
入門的な内容だったけど VimL で、日英混在の長さが不揃いの文字列の配列があり、
それを右詰めでバッファに表示させたいです。
let a = ['あiう', 'kakiくけ', 'さshisu']
という配列ならば、a[0] を左に3個半角スペースを接頭し、
a[1] をそのまま、a[2] を左に1個半角スペースを接頭して表示します。
配列内の最大の表示文字幅が分かれば、右詰め自体は printf 関数で簡単にできます。
問題は表示文字幅をどの様に取得するかです。
当然 len 関数は使えないのですが、どの様にすれば良いでしょうか? >>744
解決しました。
strdisplaywidth 関数という、やりたい事そのままの関数がありました。 :lcd で変更されるウインドウローカルな作業ディレクトリを getcwd()で取得した時の戻り値
(に含まれるディレクトリセパレータ)には&shellslash が反映されないのかなー 昔はvim vs emacsだったのに
今はvim vs その他モダンなエディタになってるな Emacsって今どうなってるん?
各個人が発展させてるだけ? Happy Hacking KeyboardスレだとまだEmacsは最前線ツールで、Vimやその他はライトユーザーのおもちゃ扱いされていて悲しかった 日本語の単語の区切り(wコマンドなどの)ってどのように決められているのですか? ひらがな
カタカナ
漢字
英数字とアンダーバー
記号
それぞれの塊ごとで区切られてるはず よくまあ日本語文字の種類に対応できるね
外国人エンジニアのITスキル半端ないわ
それとも日本語対応部分の処理は日本人が実装しているのかな って事は、「漢字仮名交じり文で書きました。」は「漢字仮名交」「じり」「文」「で」「書」「きました。」で区切られちゃう? >>754
やってみたら、そうなりました。
あと、調べたら jasegment.vim なんて作ってる人もいるのですね。 句読点やカギ括弧のような全角記号と、コンマや丸括弧のような半角記号は、
同じ種類とみなされるようだ
ちょっと不思議 >>755
それ凄そうね
けれど5年以上更新されてないのが気になる >>758
文字なり文節の区切り方がコロコロ変わるわけでもないかから更新する必要もないだろ >>760
俺はenterキーをescキーにマップしてる
改行は C-j 次にノーマルモードで何か打つときは、c-[
次に何も操作しないとき
(左手がホームポジション離れてもいいとき)は、ESC が多いかな こういうのにescキーを割り当てると捗りそうなんだが、linuxで使ってる奴いる?https://www.amazon.co.jp/dp/B004HAFZ1I C-[でescなんて初耳だわ
C-@に割り当ててた意味って >>764
> C-[でescなんて初耳だわ
それ別にviの独自のキーバインドじゃないからな viではなくてvimでできるようになった感じですか? >>766
terminalでは一般的なキーバインド >>764
USキーボードなら@の位置が[なんだけどね >>764
厳密には、C-[, C-c みたいなの esc じゃないらしい。 >>772
何を適当なこといってるんかな
端末上でEscとCtrl-[は同じ、EscとCtrl-Cは全然別物 こうやって下々の者達が互いに啀み合ってくれて本当に助かります Windows版gvimでdeoplete使うと自動補完が始まるまで時間がかかりすぎない?
auto_complete_delayの設定値+1秒強くらい
CPUが忙しいわけでもなく、ただ待ってるだけみたい vimでEnterキーをCtrlキーにマップする方法はありますか? evimなんて機能あったのね
gvimのキーバインドを普通のエディタにする奴
vimなのにC-Aで全選択できたりC-Sで保存できたり違和感しかない
コマンドモードのへの移行方法分からんけど
膨大な機能をメニューから探すなんてやってられないしな visual studioにvimのプラグインがあったから使ってみたんだけど、C-vしたらクリップボードがペーストされて、一瞬???なったの思い出した。
中途半端にマップしてあると面倒だよね。
これはちゃんと使えるんだろうか、とかコーディングとは関係ない疑心が湧いて、繰り返してるとそれで疲れてしまう。 前試したときそのままじゃ使い物にならなくて途中で面倒になって使わなくなった バッファの最初の行の前に :read で挿入したいです。
最初の行で <C-O> などで空白行を挿入して、
そこで :read して、空白行を削除するしかないですか? >>782
:h :read
> To insert text above the first
> line use the command ":0r {name}". >>783
見逃していました。
ありがとうございました。 ビックリマークってコマンドの前後で意味変わるのね
こんなのどこで覚えろってんだ :!sort と :sort! のことでも言ってるんかな。全然別物だから。
:! は外部コマンドの実行だから、:!sort は sort という外部コマンドを実行する。
:sort! は :sort というVimの組み込みコマンドにオプションの ! を付けたもの。
分からないことがあればとりあえずヘルプ読め。:help :!、:help :sort 暗黒美夢応のなんとかっていうプラグインを使って色んなプラグインを入れてるんだけど、暗黒美夢王のそのプラグインやその他のプラグインのアップデートってどうやるの?
もしかしてひとつづつ、gitからプルするの? dein.vimとそれで入れた他のプラグインの事っす プラグインに手を出し始めると末期
長い目で見れば、アプリは標準機能のみで使うのが最も幸せになれる プラグインしこたま突っ込んでも結局戻すまでがテンプレですし
デスクトップ弄って最終的に元に戻すのと同じで ファイルブラウザのサイドバーとアイコンのプラグイン付けたらめちゃめちゃ重くなった
見た目に愛着湧いたけど重くてマジで苦痛 プラグインいっぱい入れても結局使うのって限られてるよね。
せいぜい3〜4個 まあそうだよな
surround, ctrlp, matchit そんなもんかな 48個入ってるな
ほとんど使ってないのもあるけど
削れて半分、20個以上は必要な感じ ソフトウェアデザインの7月号はVim特集だったみたい
読んだ人いる? あの雑誌の編集は頭おかしい
ネタがなくなるとVim・Emacs特集組みやがる
しかも絶対主義とか言っちゃってて痛々しい >>796
インストール、文字入力、プラグインの入れ方、等の入門編だった
このスレの住人なら、実践Vim 方がためになると思う >>798
どうもありがとう
実践Vim気になってるんだけど、紙のはもう売ってないみたいね
オライリーのメガネ猿のは持ってるから、それ以降のバージョンの事と最新のプラグイン周りの事まとまったのが読みたい
技術書、入門書のスレってどこかにある? ノーマルモードの<S-Space>って移動?選択?それとも環境依存? ぶっちゃけvim関連の書籍って役に立つの?
今はマニュアルの日本語化が進んでるからそれで十分じゃない? これから使い始める人には必要でしょ
Vimのヘルプは充実しているけれど
初心者は適切なヘルプキーワードを知らないからな >>803
>初心者は適切なヘルプキーワードを知らないからな
紙の本でも同じ事が言えるのでは usr_XX.txt は上から下まで読んどく価値がある >>804
ヘルプは量が多すぎるから辞書代わりにキーワードを指定して調べ物するにはいいけど、最初から最後まで通して読むには向いてない
一方で紙の本は何も知らない初心者が要点をかいつまんで最初から通して読める分量になってるでしょ >>807
ヘルプファイルの usr_01.txt から usr_45.txt までのこと どんなに厚い本でも目次や索引があれば検索自体は容易なのでは?
Linuxからしてそうだがこの界隈は説明書読むのに説明書がいるんだから同じ尺度で考えちゃいかんよ
そして利用者はその煩雑な手間を学習に向くだの楽だのしか言わないから面白い そもそも用語とか概念とかを知らないと索引があっても検索のやりようがないから入門書は重要
例えばテキストオブジェクトという概念を知らなければいきなり登場したciwについて調べようがない >>810
例が悪くない?
help.jaxのど頭21行の知識
> 移動: カーソルを使用するか、"h" で左、"j" で下、"k" で上、"l" で右に移動できます。
> 項目へジャンプ: タグ (例: |bars|) にカーソルを合わせ、CTRL-] を押します。
> 元の場所に戻る: CTRL-T or CTRL-O を押す。繰り返すと更に戻れます。
> ノーマルモードコマンド :help x
だけで
:help c
{motion} の上で CTRL-]
motion.txt の上で CTRL-]
と簡単にたどり着けてしまう いくらヘルプを日本語化しようが:helpは日本語で検索できないからね仕方ねいね
・vimのヘルプを日本語化する
・man vimでヘルプの出し方を調べる
・どのヘルプファイルに調査対象の文字があるかをgrepで調べる
・$ vim +:"help"でヘルプを開く
・該当するヘルプファイルのタグでC-[
・/で目当ての文字を検索
man vimだってmanの存在知ってる前提だからな
英語だったら翻訳の手間いるし説明書読むのに説明書がいるってのはこういうことだ >>811
それは c と i と w がそれぞれ意味を持っていることを知ってるから :help c を実行しようと思うんだよね?
>>810の言うようにまだvimに馴染んでない初心者が :help ciw としたところで何も見つからない 同人誌で良いから詳細でとっても分かりやすい説明書出してよ
pdfじゃなくてちゃんと紙の書籍で 90年代のころと違ってもうEmacsよりVimの勝ちだと思ってたんだが、Emacsスレのほうが賑わってるんだな
ネットだとEmacsの書き込みはここ数年前世見なくなったのに。 >>812
日本語検索できるぞ。それと :helpgrep あるぞ
:helpg 表示
を入力して :copen してみ?
もちろん日本語helpは導入済みの前提 >>808
チュートリアル的なのってなかったっけ? EmacsはEmacsで面白いよね。ここ数年使ってないけど結構好き。 ■ このスレッドは過去ログ倉庫に格納されています