Posts Tagged ‘vim’

svnコマンドについて

金曜日, 7月 4th, 2014

export  EDITOR=vim

svn export {FilePath|URL} Path2

これで.svnファイルが除外された形で保存されるため、容量が圧縮できる。既存環境で約1/4になりました。

 

svn commit 時にCONFLICTが発生した場合の対処。

自分のファイルを消す。

マージする。

revertする。

conflictした場合は

svn: Aborting commit: '/svn/hoge.txt' remains in conflict
このようなメッセージが出て、どうするか聞かれます。
rコマンドでmergeして、その後該当ファイルを編集します。
<<<<<<< .mine
hoge
moge
=======
foo
bar
>>>>>>> .r2

 

ファイルを開くと上記のようになっています。
問題がなければ、<で始まる行、"
=======

 

"、>で始まる行を削除して保存しましょう。

 

bundlerのメモ

金曜日, 7月 4th, 2014

まずはbundlerのインストールから

 

gem install bundler

実行したいスクリプトがあるディレクトリでinitコマンド実行

cd /PATH/TO/hoge

bundle init

initするとテンプレートファイルができるので、自分が必要なgemを記述する。

gemの配布先が別途必要な場合はsourceで指定

 

vim Gemfile

# A sample Gemfile
source “https://rubygems.org”

gem “redis”
gem “json”

 

 

bundle install

指定したディレクトリにgemをインストールする場合は–pathオプションをつけます。

bundle install –path=/home/osho-3/sample/bundle

vimのアップデート

火曜日, 7月 1st, 2014

いつまで待ってもvimの7.3~ がyumでインストールされず.vimrcのエラーが出まくる。

疲れたのでアップデートする事にしました。

 

今回からmercurilaを利用してインストールとアップデートをしていきます。

mercurialはBTS(BugTrackSystem)です。

すみません、聞いたことなかったです。

yum install mercurial

hg clone https://vim.googlecode.com/hg/ vim

cd vim

少々パッケージが必要でした。

yum install gcc python python-devel ncurses-devel python-setuptools

下記で指定しているprefixは個人のディレクトリにするなり、システムワイドな環境にするなりしてください。

./configure –prefix=/usr/local/vim7.4

make && make install

 

以降のupdateはpullを行い、updateコマンドを実行

cd vim

hg pull

hg update

 

Vimの覚書2

火曜日, 11月 12th, 2013

vimのレジスタで計算して挿入する

挿入モードに変更
レジスタコマンド実行
C-r
=<計算式> Enter

大文字・小文字の切り替え
gu lowerに変換
gU upperに変換
g~ low/upの切り替えトグル
全てモーションの入力待ちになるので何か打鍵が必要

リプレイスについて
小文字のrでカーソル上の文字を置換できる。
大文字のRで連続して置換できる。置換したあとはカーソルが自動で動いていく。

visualモード
v 文字指向モード
V  行指向モード
C-v ブロック指向モード

ビジュアルモード中にbでワード単位で前方に移動
ビジュアルモード中にeでワード単位で後方に移動
ビジュアルモード中にoで選択範囲の始点・終点を切り替えられる
vgで前回ビジュアルモードで選択した範囲を再度選択してくれる

tabの入れ方
挿入モードでtabキーを入れてもよいが<>で行頭にtabを入れることができる。

vit
Visually select Inside the Tag
タグの中身だけを範囲選択してくれる。htmlやxmlの確認などが楽になりそう。

knownhostsの管理

火曜日, 11月 5th, 2013

古くなったサーバーをクリーンインストールなどすると~/.ssh/knownhostsにゴミが溜まります。

そうするとSSHでの接続時にエラーが吐かれる様になってしまいます。

 

そこで掃除が必要になります。

今まではvim ~/.ssh/knownhostsとして不必要なホストを検索して削除して保存していました。

ところが、OSのバージョンが上がるとviで開いても中身が分からなくなります。

そうした際にssh-keygenを使います。

既存の利用方法としては秘密鍵と公開鍵の作成に使っていましたが、knownhostsの整理にも使えます。

 

・探す場合

ssh-keygen -F hoge.com

・実際に削除する場合

ssh-keygen -R hoge.com

 

 

ソースコードの文字化け対応

水曜日, 10月 27th, 2010

開発の方がeuc-jpで保存したソースのコメントが文字化けして読めない。

windowsで開いてましたが、コンソール上で読める方法が分かったので、メモ。

vim hoge.php

コマンドモードで実行

:e ++enc=(指定文字コード)

今回は :e ++enc=euc-jp

あら、素敵。

Vimの覚書1

金曜日, 12月 11th, 2009

置換

コマンドモードで%s/置換前/置換後/

特定の範囲だけ置換したい。
コマンドモードで50,70s/置換前/置換後/
50行目から70行目の間でマッチした条件で置換となります。
コマンドモードの行末にgを入れることで、1行の中に複数回マッチしても全部置換されます。
逆説的に、gをつけないと一カ所しか置換されませんので注意して下さい。

カッコの確認。

カッコの閉じ忘れなんかでsyntaxエラー起きますね。起こられますね。

どこで閉じ忘れたか分からない。。

コマンドモードでカッコの上で%

対になってるカッコに飛んでくれます。

 

vim編集中のman確認

スクリプトを書いてる途中でオプションを調べたい。

編集中のウィンドウを閉じてman commandする?

いえ、編集中の画面でmanを開きたい文字列の上にカーソルを移動します。

移動したら、Shift+kを押します。

manが開きます。通常manを閉じるときと同様にqで閉じます。

一手間省けましたね。

文字化けしてる?
エンコードされてるファイルを調べます。
nkf -g hoge.txt
EUC-JP
euc-jpで保存されていた場合。

vi -c “:e ++enc=euc-jp” hoge.txt

エンコード変更したい
:set fenc=(euc-jp|shift-jis|utf-8) or :set fileencode=(euc-jp|shift-jis|utf-8)
ファイルフォーマット変更したい
:set ff=(dos|mac|unix) or :set fileformat=(dos|mac|unix)

 

行の削除を正規表現で行いたい。

:14,45g/^hoge¥d{0,3}.txt$/d

14行目から45行目までhoge¥d{0,3}から始まる行で拡張子が.txtの行を削除