sora君バグいれてるよー
vim-users.jp
December 21, 2009
284 messages
http://github.com/ujihisa/lingr_bot/blob/master/app/controllers/vimhacks.rb
さらに修正 http://github.com/ujihisa/lingr_bot/blob/master/app/controllers/vimhacks.rb
system("echo $PATH")
既に設定されている$PATHがおかしくなるから実行されるrubyがかわってしまう・・・
system("echo $PATH")
既に設定されている$PATHがおかしくなるから実行されるrubyがかわってしまう・・・
http://github.com/ujihisa/lingr_bot/blob/master/app/controllers/vimhacks.rb
&:to_s...?
> ただし、フルスクリーンにできない、文字のサイズ変更が容易でないなどデメリットが多過ぎますので、あまりお勧めしません。
> ただし、フルスクリーンにできない、文字のサイズ変更が容易でないなどデメリットが多過ぎますので、あまりお勧めしません。
> Vimはプレゼンツールソフトウェアは、ソフトウェア開発にも用いることができるということで知られています。 本HackではVimをMac OS Xでプレゼンツールとして便利に使うための手法を公開します。
> Vimはプレゼンツールソフトウェアは、ソフトウェア開発にも用いることができるということで知られています。 本HackではVimをMac OS Xでプレゼンツールとして便利に使うための手法を公開します。
Vimというプレゼンテーションソフトウェアは、ソフトウェア開発にも用いることが出来るということで知られています。
Vimというプレゼンテーションソフトウェアは、ソフトウェア開発にも用いることが出来るということで知られています。
>Emacs は Ctrl を押した状態がデフォルトだから。
>表立って主張されることは少ないですが、Emacs は Ctrl を押したモードとインサートモードの2つのモードを持つエディタなのです。
>一方、vim にはそのような区別はないので、Ctrl+a は2ストロークとなります。
>Emacs は Ctrl を押した状態がデフォルトだから。
>表立って主張されることは少ないですが、Emacs は Ctrl を押したモードとインサートモードの2つのモードを持つエディタなのです。
>一方、vim にはそのような区別はないので、Ctrl+a は2ストロークとなります。
ううーむ、hack110手元で修正したのですが、wpかOpenID側の問題かよくわかりませんが、またログインできません
ううーむ、hack110手元で修正したのですが、wpかOpenID側の問題かよくわかりませんが、またログインできません
screenでターミナルというのもありといえばありですが、他のプログラムの編集にVimキーバインドが使えません。zshならいいですけど、あれも実装が不完全な上に重いです。
screenでターミナルというのもありといえばありですが、他のプログラムの編集にVimキーバインドが使えません。zshならいいですけど、あれも実装が不完全な上に重いです。
# presen.vim機能予定
- markdown専用
- #,##など見出しで区切りをつけて、next/prevのコマンドとbindをローカルでして(どうやるんだ)、他の項目を隠蔽
# presen.vim機能予定
- markdown専用
- #,##など見出しで区切りをつけて、next/prevのコマンドとbindをローカルでして(どうやるんだ)、他の項目を隠蔽
さらに、railscastsという、短時間にビデオでいろんな機能を紹介するすばらしいサービスもあります
さらに、railscastsという、短時間にビデオでいろんな機能を紹介するすばらしいサービスもあります
http://github.com/ujihisa/lingr_bot/blob/8cb9f474e376652b70ac5b7db7e89634b1a6892e/app/controllers/vimhacks.rb
def self.search(s)
raise ArgumentError, "s is not string or integer" unless s.kind_of?(String) || s.kind_of?(Integer)
ary = []
s = 'Hack #' + s + ':' if s.kind_of?(Integer) || /^\d+$/ =~ s
url = 'http://vim-users.jp/?s='+CGI.escape(s.to_s)
c = Curl::Easy.new(url)
c.perform
c.body_str.split(/\n/).each do |s|
if /<h2><a href="(.*?)">(.*?)<\/a><\/h2>/ =~ s
ary << self.new(:title => $2, :url => $1)
end
end
return ary
end
def self.search(s)
raise ArgumentError, "s is not string or integer" unless s.kind_of?(String) || s.kind_of?(Integer)
ary = []
s = 'Hack #' + s + ':' if s.kind_of?(Integer) || /^\d+$/ =~ s
url = 'http://vim-users.jp/?s='+CGI.escape(s.to_s)
c = Curl::Easy.new(url)
c.perform
c.body_str.split(/\n/).each do |s|
if /<h2><a href="(.*?)">(.*?)<\/a><\/h2>/ =~ s
ary << self.new(:title => $2, :url => $1)
end
end
return ary
end
def self.search(s)
raise ArgumentError, "s is not string or integer" unless s.kind_of?(String) || s.kind_of?(Integer)
s = "Hack ##{s}:" if /^\d+$/ =~ s.to_s
Curl::Easy.new('http://vim-users.jp/?s='+CGI.escape(s.to_s)).tap(&:perform).body_str.each_line.map {|s|
self.new(:title => $2, :url => $1) if /<h2><a href="(.*?)">(.*?)<\/a><\/h2>/ =~ s
}.compact
end
def self.search(s)
raise ArgumentError, "s is not string or integer" unless s.kind_of?(String) || s.kind_of?(Integer)
s = "Hack ##{s}:" if /^\d+$/ =~ s.to_s
Curl::Easy.new('http://vim-users.jp/?s='+CGI.escape(s.to_s)).tap(&:perform).body_str.each_line.map {|s|
self.new(:title => $2, :url => $1) if /<h2><a href="(.*?)">(.*?)<\/a><\/h2>/ =~ s
}.compact
end
sに関しては入力チェックしているけれど、h[:title], h[:url]に関してはチェックがなく、
sに関しては入力チェックしているけれど、h[:title], h[:url]に関してはチェックがなく、
一応環境:ubuntu 9.10 / ruby 1.9.1 / sinatra 0.9.4 / passenger 2.2.8
一応環境:ubuntu 9.10 / ruby 1.9.1 / sinatra 0.9.4 / passenger 2.2.8
[master]: created 21fb338: "plugin/presen.vim - wrote base"
push done.
[master]: created 21fb338: "plugin/presen.vim - wrote base"
push done.
exists('*vimproc#system')みたいにautoload関数をexists()でチェックするのに、未ロードの場合インタラクティブでやると該当ファイルがsourceされるのにスクリプト内からやるとsourceされずに0が返ってくる。なんでだ。
exists('*vimproc#system')みたいにautoload関数をexists()でチェックするのに、未ロードの場合インタラクティブでやると該当ファイルがsourceされるのにスクリプト内からやるとsourceされずに0が返ってくる。なんでだ。
" autoload/a.vim
function a#a()
return exists('*vimproc#system')
endfunction
" autoload/a.vim
function a#a()
return exists('*vimproc#system')
endfunction
" autoload/b.vim
let s:b = exists('*vimproc#system')
function b#b()
return s:b
endfunction
" autoload/b.vim
let s:b = exists('*vimproc#system')
function b#b()
return s:b
endfunction



