小编Raf*_*lGP的帖子

无法在ConEmu中启用256种颜色

我想在梦幻般的ConEmu-Maximus5控制台中获得256种颜色.

更新:现在它只显示8种颜色.我知道因为'$ tput colors'的输出是'8'

我按照说明操作并激活:

  • TrueMod(24位颜色)支持
  • 注入ConEmuHk
  • ANSI x3.64/xterm 256色

我不知道如何处理' 检查是否缓冲/滑动."

  • 我在Windows 7中.
  • 我使用自定义直接链接启动ConEmu,因此它加载了cygwin bash文件.
"C:\Program Files\ConEmu\ConEmu64.exe" /cmd ""C:\cygwin\bin\bash.exe" --login -i"
  • 在我的bashrc配置文件中,我有 - > export TERM = cygwin
  • 这是我的自定义命令提示符:
    function prompt {

    local RED="\[\033[0;31m\]"
    local GREEN="\[\033[0;32m\]"
    local COOLRED="\e[38;5;173m"
    local COOLGREEN="\e[38;5;113m"
    PS1="$COOLRED\u@\h $LIGHT_COOLGREEN\$PWD \[\e[0m\] > "

    }

    prompt
  • 顺便说一句,ConEmuANSI在ON中的价值.

我有一些屏幕截图:

在此输入图像描述

正如您所看到的,命令提示看起来非常奢侈,因为它不喜欢256色设置.如果我用红色和绿色替换变量COOLRED和COOLGREEN,那么看起来没问题,但它不是256色.

更多设置截图:

在此输入图像描述 在此输入图像描述

最后一次拍摄它是cygwin的薄荷.一切都很好.支持全256色.这是一个耻辱的薄荷没有标签.这主要是我为什么要搬到ConEmu的原因.

在此输入图像描述

非常感谢您的帮助!

terminal 256color ansi-colors conemu

22
推荐指数
1
解决办法
2万
查看次数

在脚本中使用GetElementsByClassName

我正在尝试编写PowerShell脚本,以便从网站中获取名为"newstitle"的所有类中的文本.

这就是我所拥有的:

function check-krpano {
    $geturl=Invoke-WebRequest http://krpano.com/news/
    $news=$geturl.parsedhtml.body.GetElementsByClassName("newstitle")[0]
    Write-Host  "$news"
}

check-krpano
Run Code Online (Sandbox Code Playgroud)

它显然需要更多的调整,但到目前为止,它不起作用.

我设法使用GetElementById编写脚本,但我不知道GetElementsByClassName的语法,说实话,我无法找到有关它的更多信息.

注意:

我已经勾选了我的问题的正确答案,但这不是我选择在我的脚本中使用的解决方案.

虽然我能够使用2种方法在包含某个类的标记中找到内容,但它们搜索链接的速度要慢得多.

这是使用Measure-Command的输出:

  • 使用parsedhtml.body - > 29.6秒搜索包含类'newstitle'的div
  • 使用Allelements搜索包含"newstitle"类的开发者 - > 10.4秒
  • 搜索其元素'href'包含#news - > 2.4秒的链接

所以我将Links方法的答案标记为有用.

这是我的最终剧本:

function check-krpano {
    Clear-Host
    $geturl=Invoke-WebRequest http://krpano.com/news
    $news = ($geturl.Links |Where href -match '\#news\d+' | where class -NotMatch 'moreinfo+' )
    $news.outertext | Select-Object -First 5
}

check-krpano
Run Code Online (Sandbox Code Playgroud)

powershell

15
推荐指数
2
解决办法
4万
查看次数

Emacs:结合iseach-forward和recenter-top-bottom

非常感谢您提前帮助.

在Emacs中,我喜欢使用iseach-forward(Cs),但如果突出显示的fount单词位于屏幕中间而不是最底部,我会更喜欢它.

我发现自己不断这样做:

Cs foo Cs Cs Cs ......哦!这就是我要找的'foo'!氯

有没有办法将搜索结果置于屏幕中间?

干杯

emacs search

9
推荐指数
2
解决办法
797
查看次数

for-循环用于目录中的每个文件夹,不包括其中一些文件夹

非常感谢您提前帮助!

我在bash中有这个代码:

for d in this_folder/*    
    do    
        plugin=$(basename $d)
        echo $plugin'?'
        read $plugin
    done
Run Code Online (Sandbox Code Playgroud)

这就像一个魅力.对于'this_folder'中的每个文件夹,将其作为一个问题回显并将输入存储到具有相同名称的变量中.

但是现在我想排除一些文件夹,例如,它会询问该目录中的每个文件夹,只要它们不是以下任何文件夹:global,plugins和css.

任何想法我怎样才能做到这一点?

谢谢!

更新:

这是最终代码的样子:

base="coordfinder|editor_and_options|global|gyro|movecamera|orientation|sa"

> vt_conf.sh
echo "# ========== Base"     >> vt_conf.sh
for d in $orig_include/@($base)
do
    plugin=$(basename $d)
    echo "$plugin=y"         >> vt_conf.sh
done
echo ''                      >> vt_conf.sh
echo "# ========== Optional" >> vt_conf.sh
for d in $orig_include/!($base)
do
    plugin=$(basename $d)
    echo "$plugin=n"         >> vt_conf.sh
done
Run Code Online (Sandbox Code Playgroud)

bash for-loop

8
推荐指数
2
解决办法
1万
查看次数

在PowerShell中安装Chocolatey的错误消息

我正在尝试安装Chocolatey以与PowerShell一起使用.

建议的安装方法是复制并粘贴以下行.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

At line:1 char:13
+ @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object  ...
+             ~~~~~~~~~~
Unexpected token '-NoProfile' in expression or statement.
At line:1 char:24
+ @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object  ...
+                        ~~~~~~~~~~~~~~~~
Unexpected token '-ExecutionPolicy' in expression or statement.
At line:1 char:150
+ ... nstall.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
+                    ~~
The token '&&' is not a valid statement separator in this …
Run Code Online (Sandbox Code Playgroud)

powershell chocolatey

8
推荐指数
2
解决办法
6541
查看次数

如果文件夹不存在,则创建文件夹的工作流程

这个有趣的威胁中,如果目录不存在,用户会提供一些创建目录的选项。

得票最多的答案显然是最受欢迎的,我猜是因为它是最短的方法:

if not os.path.exists(directory):
    os.makedirs(directory)
Run Code Online (Sandbox Code Playgroud)

第二个答案中包含的功能似乎更强大,在我看来这是最好的方法。

import os
import errno

def make_sure_path_exists(path):
    try:
        os.makedirs(path)
    except OSError as exception:
        if exception.errno != errno.EEXIST:
            raise
Run Code Online (Sandbox Code Playgroud)

所以我想知道,人们在他们的脚本中做什么?键入 2 行只是为了创建一个文件夹?或者更糟糕的是,将函数复制并粘贴make_sure_path_exists到需要创建文件夹的每个脚本中?

我希望像 Python 这样广泛传播的编程语言已经有一个包含类似功能的库。

我所知道的其他 2 种编程语言更像是脚本语言,可以轻松做到这一点。

重击: mkdir -p path

电源外壳: New-Item -Force path

请不要将此问题视为对 Python 的咆哮,因为它不是那样的。

我打算学习 Python 来编写脚本,其中 90% 的时间我都必须创建文件夹,我想知道这样做的最有效方法是什么。

我真的认为我缺少关于 Python 的一些东西。

python

8
推荐指数
2
解决办法
1万
查看次数

Emacs,如何在单词之间切换(true to false等等...)toggle_words vim插件的等价物

非常感谢你提前.我想知道是否有人知道一个lisp代码,当我按下某些键时,它允许我在一个单词列表之间切换.例如:true - false yes - no up - right - down - left-up ...

Threre是vim的一个插件,正是这样,它的名字是toggle_words.我真的很想念emacs中的这个功能.

任何人的想法?

谢谢!

emacs elisp

5
推荐指数
1
解决办法
387
查看次数

Console2和ConEmu - 奇怪的命令提示符

非常感谢您提前帮助.

我是Windows 7中Cygwin和Mintty的用户,但我总是希望看到其他选项.所以我下载了Console2和ConEmu.

第一步始终是运行bash.那很简单.只需输入'bash'...第二步,自定义外观.这是不可能的!

正如您在下面的屏幕截图中看到的那样,看起来ANSI颜色没有被支持,我可以期待从Console2,但没有形式ConEmu.控制台的顺序是(从上到下):Mintty(Cygwin),Console2和ConEmu.

在此输入图像描述

那么任何想法是怎么回事?

我几个月前下载了Console2,我觉得颜色还可以.我不知道为什么现在它有powershell外观.

几周前我实际上尝试过Powershell并略微调整颜色.这可能导致其他终端内的混乱吗?

幸运的是,Mintty很好.

谢谢!

更新:

看起来问题实际上是在我的自定义命令提示符中!

它在Mintty中运行良好,但Console2和ConEmu不喜欢它.

# Custom Shell

# Green 113
# Red 173
# Blue 81
# Yellow 186
# Light Green 194
# Light Blue 195

function EXT_COLOR () { echo -ne "\e[38;5;$1m"; }
function CLOSE_COLOR () { echo -ne '\e[m'; }
PS1=' `EXT_COLOR 81`\]\u@\h`CLOSE_COLOR`\] `EXT_COLOR 195`\]$PWD >`CLOSE_COLOR`\]`EXT_COLOR 173`\]$(__git_ps1 " (%s)")`CLOSE_COLOR`\]\n '
export LS_COLORS='di=38;5;108:fi=00:*svn-commit.tmp=31:ln=38;5;116:ex=38;5;186'
echo -e "\e[38;5;194m$(date +%A\ %d\ %B\ %Y\ -\ %H:%M)\e[m"
Run Code Online (Sandbox Code Playgroud)

terminal ansi-escape console2 ansi-colors mintty

5
推荐指数
1
解决办法
6089
查看次数

Bash - echo`basename $ HOME`和echo $(basename $ HOME)之间的差异

非常感谢您提前帮助.

标题说明了一切:使用之间的区别是什么:

echo `basename $HOME` 
Run Code Online (Sandbox Code Playgroud)

echo $(basename $HOME)
Run Code Online (Sandbox Code Playgroud)

请注意,我知道basename命令的作用,两种语法都有效,并且两个命令都提供相同的输出.

我只是想知道两者之间是否存在任何差异,如果可能,为什么有两种语法.

干杯

拉斐尔

bash

5
推荐指数
1
解决办法
4042
查看次数

Bash - 如何删除等号周围的任何空格

我有一个xml文件,我试图使用bash脚本最小化.

删除任何缩进后,文件的某些部分如下所示:

<layer name       ="dotted_line"
align      ="topleft"
edge       ="topleft"
handcursor ="false"
keep       ="true"
url        ="%SWFPATH%/include/info_btn/dotted_line.png"
zorder     ="15"
/>
Run Code Online (Sandbox Code Playgroud)

我想在等号之前和之后删除任何空格,所以它看起来像:

<layer name="dotted_line"
align="topleft"
edge="topleft"
handcursor="false"
keep="true"
url="%SWFPATH%/include/info_btn/dotted_line.png"
zorder="15"
/>
Run Code Online (Sandbox Code Playgroud)

任何想法怎么能实现这个?

谢谢

bash

5
推荐指数
1
解决办法
943
查看次数

bash - 对于文件夹中的每个目录,在不同的位置创建一个目录

我有一个包含几个文件夹的目录.我想创建一个bash脚本来在不同的位置创建具有相同名称的目录.

请注意,我不想复制文件夹结构,也不想复制或移动文件夹.我只想在不同的位置创建具有相同名称的文件夹.

我被卡住了.使用这个:

for d in "template/modules/*"
do
    # mkdir $(basename "$d");
    echo $d;
    echo "$d";
    echo $(basename "$d");
done
Run Code Online (Sandbox Code Playgroud)

输出:

template/modules/introduction template/modules/kitchen template/modules/test
template/modules/*
add_module.sh template
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

干杯

bash

2
推荐指数
1
解决办法
8582
查看次数

Bash - 从外部文件中获取变量

我正在尝试创建一个配置文件来帮助运行bash脚本.

想法是拥有这样的文件(script.conf)

directory=c:/path/to/a/specific/directory/
logo=y
title=y
hotspots=n
combobox=n
Run Code Online (Sandbox Code Playgroud)

然后,运行脚本,它将读取script.conf并获取要在脚本中使用的那些变量.

我怎样才能做到这一点?

bash configuration

2
推荐指数
1
解决办法
2725
查看次数

从Select-String输出中获取"父文件夹+文件名"

我正在编写一个简单的脚本,在包含"插件"一词的"全屏"文件夹中递归列出所有文件.因为路径太长而且没必要,所以我决定将文件名称放在jut上.问题是所有文件都被称为"index.xml",因此获取:"包含文件夹+文件名"非常有用.所以输出看起来像这样:

on\index.xml
off\index.xml
Run Code Online (Sandbox Code Playgroud)

代替:

C:\this\is\a\very\long\path\fullscreen\on\index.xml
C:\this\is\a\very\long\path\fullscreen\off\index.xml
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

dir .\fullscreen | sls plugin | foreach { write-host $($_).path }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法将参数绑定到参数'Path',因为它为null.

powershell

2
推荐指数
1
解决办法
2503
查看次数