使用PHP我使用fwrite将内容写入.htaccess文件,这一切都正常工作,但是当我在Vim中查看.htaccess后,它会在每行添加的末尾显示^ M。 这似乎没有引起任何问题,但我不确定发生什么事情导致这一点,是否可以防止? 这是PHP的: $replaceWith = "#SO redirect_301\n".trim($_POST['redirect_301'])."\n#EO redirect_301"; $filename = SITE_ROOT.'/public_html/.htaccess'; $handle = fopen($filename,'r'); $contents = fread($handle, filesize($filename)); fclose($handle); if (preg_match('/#SO redirect_301(.*?)#EO redirect_301/si', $contents, $regs)){ $result = $regs[0]; } $newcontents = str_replace($result,$replaceWith,$contents); $filename = SITE_ROOT.'/public_html/.htaccess'; $handle = fopen($filename,'w'); if (fwrite($handle, $newcontents) === FALSE) { } fclose($handle); 当我在Vim中检查后,我会看到这样的事情: #SO redirect_301 Redirect 301 /from1 http://www.domain.com/to1^M Redirect […]
我正在使用vim来创build一个简单的脚本,将lm_sensors的输出转换为另一个文件。 我的问题是需要完成的格式,需要结合两行并输出到一个文件。 这是我目前的: LINE1=(echo -en System: INFO $(date +%x) $(date +%T) : CPU Temperature \{ ; sensors| grep Core\ sed 's/ /, /g'|tr -d '\n') LINE2=(echo -e \}) echo $LINE1$LINE2 >> (FILE PATH) LINE2的唯一目的是在数据的末尾加上一个括号,所以如果有更好的方法可以做到这一点,那么我就是所有人的耳朵。 忽略格式化数据的sed和tr命令,我希望输出数据看起来如下,虽然我总是得到一个'意外的令牌';''错误信息与上面的脚本。 System: INFO (date time) : CPU Temperature { CPU Temp DATA } 我非常感谢所有的input。
我在vim中使用:e或gf (Esc模式)命令打开这些文件。 当我使用:ls时 ,它列出了所有打开的文件缓冲区。 如何从vim中删除特定的文件缓冲区?
通常我通过在terminal键入jdb开始debuggingjava程序,然后它将进入debugging模式,然后我可以input像“停在com.android.contacts.dirtyImport.DirtyImportManager:95”告诉jdb停在某一行。 现在问题是:我怎么把这两个cmdsinput一个。 就像“jdb <停在com.android.contacts.dirtyImport.DirtyImportManager:95”。 我有这个要求的原因是,我想让Vim自动生成debugging信息,并进入debugging模式,停止制造断点。
我想知道什么是格式化所选文本的最佳做法,使每列不超过N个字符。 比如我在乞讨的时候有这样的文字(注意文字不超过80列): aaaaaaa aaaaa aaaaaa aaaaa aaaaaaa aaaaaaaaaaaaaaa aaaaaaaaa aaaaaaaa aaaaa aaaaaaa aaaaaa aaaaaaaaa a aaaa aaaaaaaaa aaaaaaa aaaaaaa aaaa aaaaa aaaaaaa aaaaaaaaa aaaaaaaa aaaaaa aaaaaaaa aaaaa a aaaaaaaaaaaaaa aaaaaaa aaaa aaaaaaaaaaa aaaaaa aaaaaaaa aaaaaaa aaaaaaaaa aaaaaaaaaa aaaaaa aaaaaaaaaa aaaaaaaaaaaa aaaaa aaaaa aaaaa aaaaaaaa aaaaa aaa aaaaa 然后突然间,我不得不改变第一行和文本,如: BBBBBB BB B BBB BB BBB BBB […]
我试图在安装Perforce的Chef食谱之后使用bash脚本来设置命令行Perforce。 我的客户名称是'test_project'。 在尝试p4同步后,出现以下错误: Client 'test_project' unknown – use 'client' command to create it. 我看到我可以手动运行p4 client test_project ,这会打开vim并创build客户端。 我所需要做的就是退出文件,并build立客户端。 但是我不知道如何在bash脚本中处理这个问题。 如何在bash脚本中退出vim? 或者我怎样才能解决这个问题?
如何在VIM中closurespython代码窗口后closurespylint窗口? 每次我退出vim,但仍然显示pylint窗口。 我想在退出Python代码时自动closurespylint警告窗口。 我知道通过手动做到这一点的方式是:qa!
我写了一个自定义的软件,在/ etc下使用自己的configuration文件。 该软件被构build到一个debian软件包,并由一个自定义存储库提供。 为了在vim中提供一个很好的语法高亮,我写了所有必要的文件来很好地突出我自己的configuration文件。 如果我把它们放在〜/ .vim / syntax下,并且添加一行到〜/ .vim / filetype.vim,一切正常。 我现在的问题是如何将我的vim扩展打包到我的debian软件包中,以便在安装过程中vim语法突出显示安装在系统范围内,而不仅仅是安装用户(root)。
作为学习Haskell的一部分,为了好玩,我试图使用树莓派。 遇到无数问题在PI上安装ghci我已经解决了只使用ghc。 所以要创build,编译和运行一个新的Haskell文件: vi first.hs i main = putStrLn "First" Esc :w :q ghc -o first first.hs ./first 输出是:“第一” 我想自动化这些命令: Esc :w :q ghc -o first first.hs ./first 这些可以从vi / vim中作为新的命令添加,如下所示: :mycustomcommands 并从vi / vim编辑器运行?
我通过编辑/ etc / environment弄乱了我的PATHvariables,我没有rm,sudo或许多命令。 有人可以告诉我的pathvim和sudo可执行文件,所以我可以解决这个问题